services: gopro-quest: profiles: ["gopro"] image: project-g1-gopro:latest build: context: .. dockerfile: docker/Dockerfile target: gopro network_mode: host init: true stdin_open: true tty: true stop_grace_period: 20s user: "${G1_UID:-1000}:${G1_GID:-1000}" group_add: - "${G1_VIDEO_GID:-44}" - "${G1_AUDIO_GID:-29}" devices: - "${G1_VIDEO_DEVICE:-/dev/video0}:/dev/video0" - "/dev/snd:/dev/snd" volumes: - "../config:/opt/project-g1/config:ro" - "../assets/quest:/opt/project-g1/assets/quest" environment: HOME: /tmp/project-g1-home PYTHONUNBUFFERED: "1" command: - /opt/conda/envs/project_g1/bin/python - docker/run_gopro_quest_container.py - --quest-host - "${G1_QUEST_HOST:-auto}" - --video-device - /dev/video0 g1-simulation: profiles: ["simulation"] image: project-g1-simulation:latest build: context: .. dockerfile: docker/Dockerfile target: simulation network_mode: host init: true stdin_open: true tty: true stop_grace_period: 40s user: "${G1_UID:-1000}:${G1_GID:-1000}" group_add: - "${G1_RENDER_GID:-109}" devices: - "${G1_DRI_DEVICE:-/dev/dri}:/dev/dri" volumes: - "../config:/opt/project-g1/config:ro" - "../assets/quest:/opt/project-g1/assets/quest" - "../datasets:/opt/project-g1/datasets" environment: HOME: /tmp/project-g1-home PYTHONUNBUFFERED: "1" command: - python - src/run_g1_simulation.py - --simulator-backend - mujoco - --headless - --quest-host - "${G1_QUEST_HOST:-auto}" g1-runtime: profiles: ["physical"] image: project-g1-onboard:latest build: context: .. dockerfile: docker/Dockerfile target: onboard # DDS discovery and WebRTC ICE must see PC2's real interfaces. network_mode: host init: true stdin_open: true tty: true stop_grace_period: 40s user: "${G1_UID:-1000}:${G1_GID:-1000}" group_add: - "${G1_VIDEO_GID:-44}" - "${G1_AUDIO_GID:-29}" devices: - "${G1_VIDEO_DEVICE:-/dev/video0}:/dev/video0" - "/dev/snd:/dev/snd" volumes: - "../config:/opt/project-g1/config:ro" - "../assets/quest:/opt/project-g1/assets/quest" - "../datasets:/opt/project-g1/datasets" cap_add: - SYS_NICE ulimits: rtprio: 90 memlock: -1 environment: HOME: /tmp/project-g1-home PYTHONUNBUFFERED: "1" command: - python - src/run_g1_runtime.py - --network-interface - "${G1_ROBOT_INTERFACE:-eth0}" - --quest-host - "${G1_QUEST_HOST:-auto}" - --image-server-ip - "${G1_IMAGE_SERVER_IP:-192.168.123.164}" - --video-device - /dev/video0 - --confirm-physical-robot