A development environment for GeoScenario Server, an autonomous vehicle scenario simulation framework with behavior tree-based planning and real-time co-simulation support.
This workspace provides a containerized development environment for GeoScenario Server with:
- Ubuntu 24.04 LTS base with all system dependencies pre-installed
- Pixi package manager for fast, reproducible Python and ROS2 dependency management
- GUI support via X11 forwarding (native) or web-based VNC
- VS Code integration with pre-configured extensions and settings
- ROS2 Humble support via Robostack (managed by Pixi)
The container eliminates "works on my machine" problems and provides a consistent development environment across Linux, macOS, and Windows.
- In VScode. Press
F1and select "Dev Containers: Reopen in Container" - Wait for container build (first time: ~5-10 minutes)
- Once ready, open a terminal to run commands in the container
# Build and start the container
docker compose -f docker-compose.yml up -d
# Enter the container
docker compose -f .devcontainer/docker-compose.yml exec dev bash
# Inside container: run a scenario
cd /home/ubuntu/workspace/geoscenarioserver
pixi run gss --scenario scenarios/test_scenarios/gs_intersection_greenlight.osmSetup:
# Allow Docker to connect to X server (run on host)
xhost +local:docker
# Verify DISPLAY is set
echo $DISPLAY # Should show something like :0 or :1Test X11:
# Inside container
xeyes # Should show a pair of eyes following your cursorRecommended when X11 is unavailable.
Access:
- Start the container (VNC server starts automatically if no X11 detected)
- Open browser to http://localhost:6080/vnc.html
- Password:
dev - GUI applications will appear in the browser window
Manual VNC Control:
# Inside container: start VNC manually
/usr/local/bin/start-vnc.sh
# Connect via VNC client (instead of web)
# Server: localhost:5901
# Password: dev