version: '3.8' services: display-manager: build: ./display-manager privileged: true restart: always tty: true stdin_open: true volumes: - x11-socket:/tmp/.X11-unix - /dev:/dev devices: - "/dev/tty7:/dev/tty7" - "/dev/dri:/dev/dri" environment: - DISPLAY=:0 audio-manager: build: ./audio-manager restart: always privileged: true # Required for proper ALSA/Hardware audio access in some setups ports: - "8449:8449" volumes: - pulse-socket:/tmp/pulse devices: - "/dev/snd:/dev/snd" kiosk-1: build: ./kiosk restart: always depends_on: - display-manager - audio-manager ports: - "5011:5011" volumes: - x11-socket:/tmp/.X11-unix - pulse-socket:/tmp/pulse devices: - "/dev/dri:/dev/dri" environment: - DISPLAY=:0 - MONITOR=HDMI-1 - PORT=5011 - LAUNCH_URL=https://github.com - KIOSK=1 - GPU=1 - PULSE_SERVER=unix:/tmp/pulse/native kiosk-2: build: ./kiosk restart: always depends_on: - display-manager - audio-manager ports: - "5012:5012" volumes: - x11-socket:/tmp/.X11-unix - pulse-socket:/tmp/pulse devices: - "/dev/dri:/dev/dri" environment: - DISPLAY=:0 - MONITOR=HDMI-2 - PORT=5012 - LAUNCH_URL=https://google.com - KIOSK=1 - GPU=1 - PULSE_SERVER=unix:/tmp/pulse/native volumes: x11-socket: pulse-socket: