version: '3.8' services: web: build: . labels: - "traefik.enable=true" - "traefik.http.routers.photos.rule=Host(`photos.dws.rip`)" - "traefik.http.services.photos.loadbalancer.server.port=5000" - "traefik.http.routers.photos.tls=true" - "traefik.http.routers.photos.tls.certresolver=default" volumes: - ./uploads:/app/uploads - ./thumbnails:/app/thumbnails - ./config.toml:/app/config.toml - ./photos.db:/app/photos.db environment: - PYTHONUNBUFFERED=1 - FLASK_ENV=production - WORKERS=4 restart: unless-stopped networks: - traefik-public - default healthcheck: test: ["CMD", "curl", "-f", "http://localhost:5000/"] interval: 30s timeout: 10s retries: 3 start_period: 40s networks: traefik-public: external: true