diff --git a/apps/.env b/apps/.env index fd3ed08..a0e2f91 100644 --- a/apps/.env +++ b/apps/.env @@ -145,6 +145,7 @@ SONARR_HOSTNAME=sonarr.${DOMAIN} SONARR4K_HOSTNAME=4k.sonarr.${DOMAIN} SONARRANIME_HOSTNAME=anime.sonarr.${DOMAIN} SPEEDTEST_TRACKER_HOSTNAME=speedtest-tracker.${DOMAIN} +STREAMYSTATS_HOSTNAME=streamystats.${DOMAIN} STREMIO_CATALOG_PROVIDERS_HOSTNAME=stremio-catalogues.${DOMAIN} STREMIO_JACKETT_HOSTNAME=stremio-jackett.${DOMAIN} STREMIO_SERVER_HOSTNAME=stremio-server.${DOMAIN} @@ -161,7 +162,7 @@ ZIPLINE_HOSTNAME=zipline.${DOMAIN} ZURG_HOSTNAME=zurg.${DOMAIN} # This is the list of all the domains for which Cloudflare DDNS will create A/AAAA records for. -DOMAINS=${ADDON_MANAGER_HOSTNAME},${AIOSTREAMS_HOSTNAME},${AIOSTREMIO_HOSTNAME},${AUTHELIA_HOSTNAME},${AUTOSYNC_HOSTNAME},${BAZARR_HOSTNAME},${BAZARR4K_HOSTNAME},${BESZEL_HOSTNAME},${COMET_HOSTNAME},${DASHDOT_HOSTNAME},${DOCKGE_HOSTNAME},${DOZZLE_HOSTNAME},${EASYNEWS_PLUS_HOSTNAME},${HONEY_HOSTNAME},${JACKETT_HOSTNAME},${JACKETTIO_HOSTNAME},${JELLYFIN_HOSTNAME},${JELLYSEER_HOSTNAME},${LIBRESPEED_HOSTNAME},${MEDIAFLOW_PROXY_HOSTNAME},${MEDIAFUSION_HOSTNAME},${MINECRAFT_HOSTNAME},${NZBHYDRA2_HOSTNAME},${OMG_TV_STREMIO_ADDON_HOSTNAME},${OVERSEERR_HOSTNAME},${PLAUSIBLE_HOSTNAME},${PLEX_HOSTNAME},${PORTAINER_HOSTNAME},${PROWLARR_HOSTNAME},${RADARR_HOSTNAME},${RADARR4K_HOSTNAME},${RADARRANIME_HOSTNAME},${SEANIME_HOSTNAME},${SEARXNG_HOSTNAME},${SONARR_HOSTNAME},${SONARR4K_HOSTNAME},${SONARRANIME_HOSTNAME},${SPEEDTEST_TRACKER_HOSTNAME},${STREMIO_CATALOG_PROVIDERS_HOSTNAME},${STREMIO_JACKETT_HOSTNAME},${STREMIO_SERVER_HOSTNAME},${STREMIO_TRAKT_ADDON_HOSTNAME},${STREMTHRU_HOSTNAME},${TAUTULLI_HOSTNAME},${TMDB_ADDON_HOSTNAME},${TORBOX_MANAGER_HOSTNAME},${TRAEFIK_HOSTNAME},${UPTIME_KUMA_HOSTNAME},${VAULTWARDEN_HOSTNAME},${ZILEAN_HOSTNAME},${ZURG_HOSTNAME} +DOMAINS=${ADDON_MANAGER_HOSTNAME},${AIOSTREAMS_HOSTNAME},${AIOSTREMIO_HOSTNAME},${AUTHELIA_HOSTNAME},${AUTOSYNC_HOSTNAME},${BAZARR_HOSTNAME},${BAZARR4K_HOSTNAME},${BESZEL_HOSTNAME},${COMET_HOSTNAME},${DASHDOT_HOSTNAME},${DOCKGE_HOSTNAME},${DOZZLE_HOSTNAME},${EASYNEWS_PLUS_HOSTNAME},${HONEY_HOSTNAME},${JACKETT_HOSTNAME},${JACKETTIO_HOSTNAME},${JELLYFIN_HOSTNAME},${JELLYSEER_HOSTNAME},${LIBRESPEED_HOSTNAME},${MEDIAFLOW_PROXY_HOSTNAME},${MEDIAFUSION_HOSTNAME},${MINECRAFT_HOSTNAME},${NZBHYDRA2_HOSTNAME},${OMG_TV_STREMIO_ADDON_HOSTNAME},${OVERSEERR_HOSTNAME},${PLAUSIBLE_HOSTNAME},${PLEX_HOSTNAME},${PORTAINER_HOSTNAME},${PROWLARR_HOSTNAME},${RADARR_HOSTNAME},${RADARR4K_HOSTNAME},${RADARRANIME_HOSTNAME},${SEANIME_HOSTNAME},${SEARXNG_HOSTNAME},${SONARR_HOSTNAME},${SONARR4K_HOSTNAME},${SONARRANIME_HOSTNAME},${SPEEDTEST_TRACKER_HOSTNAME},${STREAMYSTATS_HOSTNAME},${STREMIO_CATALOG_PROVIDERS_HOSTNAME},${STREMIO_JACKETT_HOSTNAME},${STREMIO_SERVER_HOSTNAME},${STREMIO_TRAKT_ADDON_HOSTNAME},${STREMTHRU_HOSTNAME},${TAUTULLI_HOSTNAME},${TMDB_ADDON_HOSTNAME},${TORBOX_MANAGER_HOSTNAME},${TRAEFIK_HOSTNAME},${UPTIME_KUMA_HOSTNAME},${VAULTWARDEN_HOSTNAME},${ZILEAN_HOSTNAME},${ZURG_HOSTNAME} # ==================================================== # DOCKER COMPOSE CONFIGURATION diff --git a/apps/compose.yaml b/apps/compose.yaml index d330d75..de05293 100644 --- a/apps/compose.yaml +++ b/apps/compose.yaml @@ -39,6 +39,7 @@ include: - seanime/compose.yaml - searxng/compose.yaml - speedtest-tracker/compose.yaml + - streamystats/compose.yaml - stremio-catalog-providers/compose.yaml - stremio-jackett/compose.yaml - stremio-server/compose.yaml diff --git a/apps/streamystats/.env b/apps/streamystats/.env new file mode 100644 index 0000000..0106cf5 --- /dev/null +++ b/apps/streamystats/.env @@ -0,0 +1,3 @@ +# Use the command below to generate a random secret key for your application. +# openssl rand -hex 64 +SECRET_KEY_BASE="" \ No newline at end of file diff --git a/apps/streamystats/compose.yaml b/apps/streamystats/compose.yaml new file mode 100644 index 0000000..a591220 --- /dev/null +++ b/apps/streamystats/compose.yaml @@ -0,0 +1,60 @@ +services: + streamystats_frontend: + image: fredrikburmester/streamystats-nextjs:edge + container_name: streamystats_frontend + restart: unless-stopped + expose: + - 3000 + environment: + API_URL: "http://streamystats_backend:4000/api" + labels: + - "traefik.enable=true" + - "traefik.http.routers.streamystats_frontend.rule=Host(`${STREAMYSTATS_HOSTNAME?}`)" + - "traefik.http.routers.streamystats_frontend.entrypoints=websecure" + - "traefik.http.routers.streamystats_frontend.tls.certresolver=letsencrypt" + - "traefik.http.routers.streamystats_frontend.middlewares=authelia@docker" + - "traefik.http.services.streamystats_frontend.loadbalancer.server.port=3000" + depends_on: + - streamystats_backend + profiles: + - streamystats + - all + + streamystats_backend: + image: fredrikburmester/streamystats-phoenix:edge + container_name: streamystats_backend + restart: unless-stopped + expose: + - 4000 + environment: + DATABASE_URL: "postgres://streamystats:streamystats@streamystats_postgres:5432/streamystats" + SECRET_KEY_BASE: ${SECRET_KEY_BASE} + depends_on: + streamystats_postgres: + condition: service_healthy + profiles: + - streamystats + - all + + streamystats_postgres: + image: postgres:16 + container_name: streamystats_postgres + restart: unless-stopped + expose: + - 5432 + environment: + POSTGRES_USER: streamystats + POSTGRES_PASSWORD: streamystats + POSTGRES_DB: streamystats + PGDATA: /var/lib/postgresql/data/pgdata + volumes: + - ${DOCKER_DATA_DIR}/streamystats:/var/lib/postgresql/data + healthcheck: + test: ["CMD", "pg_isready", "-U", "streamystats", "-d", "streamystats"] + interval: 10s + timeout: 5s + retries: 5 + profiles: + - streamystats + - all +