| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- services:
- frontend:
- build:
- context: ./frontend
- dockerfile: Dockerfile
- image: ghcr.io/tuanchris/dune-weaver-frontend:main
- restart: always
- ports:
- - "80:80"
- volumes:
- - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
- depends_on:
- - backend
- container_name: dune-weaver-frontend
- backend:
- build: .
- image: ghcr.io/tuanchris/dune-weaver:main
- restart: always
- ports:
- - "8080:8080"
- volumes:
- # Persistent data directories
- - ./patterns:/app/patterns
- - ./playlists:/app/playlists
- - ./state.json:/app/state.json
- - ./static/custom:/app/static/custom
- # Mount Docker socket for container self-restart/update
- - /var/run/docker.sock:/var/run/docker.sock
- # Mount timezone file from host for scheduling features
- - /etc/timezone:/etc/host-timezone:ro
- # Mount systemd for host shutdown capability
- - /run/systemd/system:/run/systemd/system:ro
- - /var/run/dbus/system_bus_socket:/var/run/dbus/system_socket:ro
- - /sys/fs/cgroup:/sys/fs/cgroup:ro
- # Mount GPIO for DW LEDs and Desert Compass (reed switch)
- - /sys:/sys
- devices:
- - "/dev/ttyACM0:/dev/ttyACM0"
- - "/dev/ttyUSB0:/dev/ttyUSB0"
- - "/dev/ttyAMA0:/dev/ttyAMA0"
- - "/dev/gpiomem:/dev/gpiomem"
- - "/dev/mem:/dev/mem"
- - "/dev/pio0:/dev/pio0"
- privileged: true
- container_name: dune-weaver-backend
|