Files
Anthias/docker-compose.yml.tmpl
2025-01-20 14:08:28 -08:00

155 lines
4.2 KiB
Cheetah

# vim: ft=yaml.docker-compose
services:
anthias-wifi-connect:
image: screenly/anthias-wifi-connect:${DOCKER_TAG}-${DEVICE_TYPE}
build:
context: .
dockerfile: docker/Dockerfile.wifi-connect
depends_on:
- anthias-viewer
environment:
PORTAL_LISTENING_PORT: 8000
CHECK_CONN_FREQ: 10
PORTAL_SSID: 'Anthias WiFi Connect'
DBUS_SYSTEM_BUS_ADDRESS: 'unix:path=/run/dbus/system_bus_socket'
network_mode: host
privileged: true
volumes:
- type: bind
source: /run/dbus/system_bus_socket
target: /run/dbus/system_bus_socket
anthias-server:
image: screenly/anthias-server:${DOCKER_TAG}-${DEVICE_TYPE}
build:
context: .
dockerfile: docker/Dockerfile.server
environment:
- MY_IP=${MY_IP}
- MAC_ADDRESS=${MAC_ADDRESS}
- HOST_USER=${USER}
- HOME=/data
- LISTEN=0.0.0.0
- CELERY_BROKER_URL=redis://redis:6379/0
- CELERY_RESULT_BACKEND=redis://redis:6379/0
devices:
- "/dev/vchiq:/dev/vchiq"
restart: always
volumes:
- resin-data:/data
- /home/${USER}/.screenly:/data/.screenly
- /home/${USER}/screenly_assets:/data/screenly_assets
- /home/${USER}/screenly/staticfiles:/data/screenly/staticfiles
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
labels:
io.balena.features.supervisor-api: '1'
anthias-viewer:
image: screenly/anthias-viewer:${DOCKER_TAG}-${DEVICE_TYPE}
build:
context: .
dockerfile: docker/Dockerfile.viewer
mem_limit: ${VIEWER_MEMORY_LIMIT_KB}k
depends_on:
- anthias-server
environment:
- HOME=/data
- PORT=80
- NOREFRESH=1
- LISTEN=anthias-nginx
extra_hosts:
- "host.docker.internal:host-gateway"
privileged: true
restart: always
shm_size: ${SHM_SIZE_KB}kb
volumes:
- resin-data:/data
- /home/${USER}/.asoundrc:/data/.asoundrc
- /home/${USER}/.screenly:/data/.screenly
- /home/${USER}/screenly_assets:/data/screenly_assets
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
labels:
io.balena.features.supervisor-api: '1'
anthias-websocket:
image: screenly/anthias-websocket:${DOCKER_TAG}-${DEVICE_TYPE}
build:
context: .
dockerfile: docker/Dockerfile.websocket
depends_on:
- anthias-server
environment:
- HOME=/data
- LISTEN=0.0.0.0
restart: always
volumes:
- resin-data:/data
- /home/${USER}/.screenly:/data/.screenly
- /home/${USER}/screenly_assets:/data/screenly_assets
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
anthias-celery:
image: screenly/anthias-celery:${DOCKER_TAG}-${DEVICE_TYPE}
build:
context: .
dockerfile: docker/Dockerfile.celery
depends_on:
- anthias-server
- redis
environment:
- HOME=/data
- CELERY_BROKER_URL=redis://redis:6379/0
- CELERY_RESULT_BACKEND=redis://redis:6379/0
devices:
- "/dev/vchiq:/dev/vchiq"
restart: always
volumes:
- resin-data:/data
- /home/${USER}/.screenly:/data/.screenly
- /home/${USER}/screenly_assets:/data/screenly_assets
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
labels:
io.balena.features.supervisor-api: '1'
redis:
image: screenly/anthias-redis:${DOCKER_TAG}-${DEVICE_TYPE}
build:
context: .
dockerfile: docker/Dockerfile.redis
ports:
- 127.0.0.1:6379:6379
restart: always
volumes:
- redis-data:/var/lib/redis
anthias-nginx:
image: screenly/anthias-nginx:${DOCKER_TAG}-${DEVICE_TYPE}
build:
context: .
dockerfile: docker/Dockerfile.nginx
ports:
- 80:80
environment:
- HOME=/data
depends_on:
- anthias-server
- anthias-websocket
restart: always
volumes:
- resin-data:/data:ro
- /home/${USER}/.screenly:/data/.screenly:ro
- /home/${USER}/screenly_assets:/data/screenly_assets:ro
- /home/${USER}/screenly/staticfiles:/data/screenly/staticfiles:ro
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
volumes:
resin-data:
redis-data:
screenly-data: