MARV Robotics Community Edition
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


MARV Robotics

Welcome to the MARV Robotics Community Edition.

MARV Robotics is a powerful and extensible data management platform, featuring a rich dynamic web interface, driven by your algorithms, configurable to the core, and integrating well with your tools to supercharge your workflows.

For more information please see:


Clone repository and tell scripts that you want to use the official MARV Robotics CE image. Alternatively, you can build it yourself with ./scripts/build-image, in which case you don't create the .image-name file.

git clone
cd marv-robotics
echo ternaris/marv-robotics > .image-name

Start container.

./scripts/run-container sites/example path/to/bags

There should be a couple of uwsgi workers waiting to serve requests and MARV Robotics is now running at: https://localhost:8000/

If the container fails to start with Permission denied:

[Errno 13] Permission denied: '/home/marv/site/sessionkey'

most likely the uid of your user outside docker does not match the one inside (1000). See Docker on how to build a custom image with matching uid and gid.

Additional arguments are passed as options to docker run, e.g.

./scripts/run-container sites/example path/to/bags --detach

Enter the container, scan for datasets and run nodes.

marv scan
marv run --col=*

Add a user to add tags and comments.

marv user add zaphod

Make the user a member of the admin group in order to discard datasets. With the next marv scan discarded datasets are re-added as new datasets; all data previously associated with them is deleted.

marv group adduser zaphod admin

So far, only tooling and the example site are used from the repository.

For more information see our Docker installation instructions.

Alternatively, you can follow the Native installation instructions.

Reporting issues / Minimal working example

In order to provide a minimal working example to reproduce issues you are seeing, please:

  1. Create a fork of this repository and clone it.
  2. Create a site folder in ./sites containing your configuration.
  3. If there is custom code involved, please add a minimal working example based on it to a python package in ./code. We don't need to see your real code, but we cannot help without code.
  4. Create a scanroot folder within your site folder and add minimal bags or other log files as needed.
  5. Make sure the issues you are seeing are exposed by this setup.
  6. Push your changes to your fork.
  7. Create an issue in and add a link to the minimal working example.