Download • Docs • Blog • Slack • Twitter • Contact Us
Foxglove is an integrated visualization and diagnosis tool for robotics.
To learn more, visit the following resources:
About • Documentation • Release notes • Blog
You can join us on the following platforms to ask questions, share feedback, and stay up to date on what our team is working on:
GitHub Discussions • Slack • Newsletter • Twitter • LinkedIn
Foxglove Studio is available online at studio.foxglove.dev, or desktop releases can be downloaded from foxglove.dev/download.
Foxglove Studio follows an open core licensing model. Most functionality is available in this repository, and can be reproduced or modified per the terms of the Mozilla Public License v2.0.
The official binary distributions available at studio.foxglove.dev or foxglove.dev/download incorporate some closed-source functionality, such as integration with Foxglove Data Platform, multiple layouts, private extensions, and more. For more information on free and paid features, see our Pricing.
Foxglove Studio can be self-hosted using our docker image. Please note that this build does not contain any closed source functionality.
Please after cloning the repo you need to download some stuff from git lfs with:
git lfs pull
After that just build the container with:
docker build -t local-foxglove .
docker run --rm -p "8080:8080" local-foxglove
Foxglove Studio will be accessible in your browser at localhost:8080.
The build process takes some minutes, so it is not practical to rebuild the container every time you make a change. You can use the following command to mount the local source code into the container and run the development server. But first, you need to modify the Dockerfile to comment the release part. For that, comment ALL lines from line 7 to the end of the Dockerfile. Then rebuild. After that, you can run the following command:
docker run --rm -it -p "8080:8080" --volume "${PWD}":"/src" --entrypoint bash local-foxglove
It should open a bash terminal inside the container. Then you can run the following commands to start the development server:
yarn install
yarn run web:serve
It will server the web app and recompile interactively when you make changes. You can access the web app at localhost:8080.
Bind-mount a layout JSON file at /foxglove/default-layout.json
to set the default layout used when loading Studio from the Docker image.
docker run --rm -p "8080:8080" -v /path/to/custom_layout.json:/foxglove/default-layout.json ghcr.io/foxglove/studio:latest
Foxglove Studio is written in TypeScript – contributions are welcome!
Note: All contributors must agree to our Contributor License Agreement. See CONTRIBUTING.md for more details.
Foxglove Studio originally began as a fork of Webviz, an open source project developed by Cruise. Most of the Webviz code has been rewritten, but some files still carry a Cruise license header where appropriate.
We developed a new player compatible with also our own fork of rosboard. To use it, you need to follow the instructions below:
-
Use this Foxglove Fork: You will need to use the KiwiCampus fork for this project or a derived version.
-
Use our Rosboard Fork: You will need to use the KiwiCampus fork for Rosboard on the robot you want to connect to.
-
Connecting to Rosboard: Similar to other available protocols (such as Rosbridge and Foxglove websocket), you can connect to Rosboard by following these steps:
- Open the application.
- Navigate to
File
->Open connection...
. - Select
Rosboard
from the list of available protocols. - Paste your websocket URL running Rosboard. Remeber it takes the form
ws://<ip>:<port>/rosboard/v1
. - Click
Open
.
- Note: Ensure that your Rosboard instance is running and accessible via the websocket URL you intend to use.