spiri-sdk/docker-compose.yml

49 lines
1.3 KiB
YAML

services:
gui-tools:
env_file:
- .env
build:
context: ./guiTools/
environment:
# Display settings
DISPLAY: "${DISPLAY}"
WAYLAND_DISPLAY: "${WAYLAND_DISPLAY}"
# Uncomment below if using X11
# QT_QPA_PLATFORM: "${QT_QPA_PLATFORM:-xcb}"
XDG_RUNTIME_DIR: "${XDG_RUNTIME_DIR}"
ROS_MASTER_URI: "http://ros-master:11311"
RMW_IMPLEMENTATION: rmw_cyclonedds_cpp
SDK_ROOT: ${PWD}
volumes:
# X11 socket
- /tmp/.X11-unix:/tmp/.X11-unix
- ${XAUTHORITY:-~/.Xauthority}:/root/.Xauthority
# Wayland socket
#- ${XDG_RUNTIME_DIR}/wayland-0:${XDG_RUNTIME_DIR}/wayland-0
# Access to GPU devices
- /dev/dri:/dev/dri
# Code and configuration
- ./guiTools/spiri_sdk_guitools/:/app/spiri_sdk_guitools/
- ./robots:/robots
- /var/run/docker.sock:/var/run/docker.sock
devices:
# Provide access to GPU devices (supports non-NVIDIA GPUs)
- /dev/dri:/dev/dri
network_mode: host
ports:
- 8923:8923
ipc: host
privileged: true # Required for GPU access
# deploy:
# resources:
# reservations:
# devices:
# - driver: cdi # Optional for advanced resource scheduling
# device_ids:
# - "all" # Use "all" for all available GPUs