53 lines
1.5 KiB
YAML
53 lines
1.5 KiB
YAML
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
|