version: "3.8" services: jellystat-db: image: postgres:15 container_name: jellystat-db environment: POSTGRES_DB: jfstat POSTGRES_USER: ${JELLYSTAT_DB_USER:-postgres} POSTGRES_PASSWORD: ${JELLYSTAT_DB_PASSWORD} volumes: - ${DOCKER_PATH}/jellystat/postgres:/var/lib/postgresql/data restart: unless-stopped networks: - traefik_public jellystat: image: cyfershepard/jellystat:latest container_name: jellystat environment: POSTGRES_USER: ${JELLYSTAT_DB_USER:-postgres} POSTGRES_PASSWORD: ${JELLYSTAT_DB_PASSWORD} POSTGRES_IP: jellystat-db POSTGRES_PORT: 5432 JWT_SECRET: ${JELLYSTAT_JWT_SECRET} volumes: - ${DOCKER_PATH}/jellystat/backup:/app/backend/backup-data depends_on: - jellystat-db expose: - 3000 restart: unless-stopped labels: # Traefik traefik.enable: "true" traefik.http.routers.jellystat.rule: "Host(`jellystat.${DOMAIN}`)" traefik.http.routers.jellystat.entrypoints: "https" traefik.http.routers.jellystat.service: "jellystat" traefik.http.routers.jellystat.tls.certresolver: "cloudflare" traefik.http.services.jellystat.loadbalancer.server.port: "3000" # Homepage homepage.group: "Media" homepage.name: "Jellystat" homepage.icon: "jellystat.png" homepage.href: "https://jellystat.${DOMAIN}" homepage.description: "Jellyfin Statistics" networks: - traefik_public networks: traefik_public: external: true