services: syncserver: image: mozilla/syncserver:latest volumes: - ${VOLUMES_PATH}/firefoxsync/syncserver:/data user: ${UID}:${GID} networks: - web - firefoxsync labels: - "traefik.enable=true" - "traefik.http.routers.ffs.rule=Host(`firefoxsync.${DOMAIN}`)" - "traefik.http.routers.ffs.entrypoints=websecure" - "traefik.http.routers.ffs.tls.certresolver=netcup" - "traefik.http.routers.ffs.tls.options=intermediate@file" - "traefik.http.services.ffs.loadbalancer.server.port=5000" - "docker.group=firefoxsync" - "diun.enable=true" restart: unless-stopped environment: - SYNCSERVER_PUBLIC_URL=https://firefoxsync.${DOMAIN} - SYNCSERVER_SECRET=&{SECRET} - SYNCSERVER_SQLURI=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db/${POSTGRES_DB} - SYNCSERVER_BATCH_UPLOAD_ENABLED=true - SYNCSERVER_FORCE_WSGI_ENVIRON=true - SYNCSERVER_DEBUG_ENABLED=false - SYNCSERVER_ALLOW_NEW_USER=true - PORT=5000 db: image: postgres:13 restart: unless-stopped environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DB=${POSTGRES_DB} networks: - firefoxsync volumes: - ${VOLUMES_PATH}/firefoxsync/db:/var/lib/postgresql/data user: ${UID}:${GID} healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"] interval: 10s timeout: 5s labels: - "docker.group=firefoxsync" - "diun.enable=true" networks: firefoxsync: web: external: true