selfhost/firefoxsync/docker-compose.yaml

56 lines
1.5 KiB
YAML

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"
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"
networks:
firefoxsync:
web:
external: true