Skip to main content
Container support is currently in beta.
Basilisk publishes prebuilt images to the GitHub Container Registry:
ghcr.io/avslab/basilisk
Images are multi-architecture manifests and run natively on both:
  • linux/amd64
  • linux/arm64

Tags

TagDescription
latestPublished on every release tag push.
vX.Y.ZExact version tag (e.g., v2.9.0). Use this for reproducible production deployments.
Always pin to a specific version tag in production to avoid unexpected changes.

Pull the image

# Pull the latest release
docker pull ghcr.io/avslab/basilisk:latest

# Pull a specific version
docker pull ghcr.io/avslab/basilisk:v2.9.0

Run the image

1

Quick import check

Verify the image works by running the default entry point, which imports Basilisk and prints a confirmation:
docker run --rm ghcr.io/avslab/basilisk:latest
Expected output:
Basilisk import OK
2

Open an interactive shell

docker run --rm -it ghcr.io/avslab/basilisk:latest bash
3

Connect Vizard from your host machine

Vizard communicates with Basilisk over ports 5556 (data) and 5570 (control). Expose those ports when starting the container:
docker run --rm -it \
  -p 5556:5556 \
  -p 5570:5570 \
  ghcr.io/avslab/basilisk:latest bash
Basilisk binds to 0.0.0.0 by default, so Vizard running on your host can connect to tcp://localhost:5556.
4

Enable Bokeh visualization (Monte Carlo)

Add port 5006 for Bokeh-based Monte Carlo visualizations:
docker run --rm -it \
  -p 5556:5556 \
  -p 5570:5570 \
  -p 5006:5006 \
  ghcr.io/avslab/basilisk:latest bash

Build a local image

To build an image from your current local checkout, use the Dockerfile at the repository root:
docker build -t bsk:local .
This produces a slim runtime image containing only the installed Basilisk wheel and its runtime shared libraries.

Default build options

The default image build enables the following Conan options:
OptionDefault in Docker
--opNavTrue
--mujocoTrue
--mujocoReplayTrue

Override build options

Pass CONAN_ARGS to change which features are compiled in:
docker build \
  --build-arg CONAN_ARGS="--opNav True --mujoco False --mujocoReplay False" \
  -t bsk:local .

Build a development image

To get an image with the full build toolchain — compiler, CMake, SWIG, source tree — target the builder stage:
docker build --target builder -t bsk-dev:local .
This is useful for iterative development or debugging build issues inside a container.

Specify a Python version

The default Python version in the Dockerfile is 3.13. Override it with the PYTHON_VERSION build argument:
docker build --build-arg PYTHON_VERSION=3.12 -t bsk:py312 .

Exposed ports

PortPurpose
5556Vizard data stream
5570Vizard control
5006Bokeh server (Monte Carlo scenarios)

Build docs developers (and LLMs) love