diff --git a/.env b/.env index 9965c85..89a3604 100644 --- a/.env +++ b/.env @@ -178,6 +178,7 @@ STREMIO_CATALOG_PROVIDERS_HOSTNAME=stremio-catalogues.${DOMAIN} STREMIO_JACKETT_HOSTNAME=stremio-jackett.${DOMAIN} STREMIO_LETTERBOXD_HOSTNAME=stremio-letterboxd.${DOMAIN} STREMIO_SERVER_HOSTNAME=stremio-server.${DOMAIN} +STREMIO_STREAMING_CATALOGS_HOSTNAME=streaming-catalogs.${DOMAIN} STREMIO_TRAKT_ADDON_HOSTNAME=stremio-trakt.${DOMAIN} STREMTHRU_HOSTNAME=stremthru.${DOMAIN} TAUTULLI_HOSTNAME=tautulli.${DOMAIN} diff --git a/apps/authelia/compose.yaml b/apps/authelia/compose.yaml index f2a6b95..605d40d 100644 --- a/apps/authelia/compose.yaml +++ b/apps/authelia/compose.yaml @@ -34,6 +34,7 @@ services: ${OMG_TV_STREMIO_ADDON_HOSTNAME}, ${STREMIO_CATALOG_PROVIDERS_HOSTNAME}, ${STREMIO_TRAKT_ADDON_HOSTNAME}, + ${STREMIO_STREAMING_CATALOGS_HOSTNAME}, ${TMDB_ADDON_HOSTNAME}, ${TMDB_COLLECTIONS_HOSTNAME}, ${WEBSTREAMR_HOSTNAME} diff --git a/apps/cloudflare-ddns/compose.yaml b/apps/cloudflare-ddns/compose.yaml index 6b82fa7..8a00d14 100644 --- a/apps/cloudflare-ddns/compose.yaml +++ b/apps/cloudflare-ddns/compose.yaml @@ -77,6 +77,7 @@ services: ${STREMIO_JACKETT_HOSTNAME}, ${STREMIO_LETTERBOXD_HOSTNAME}, ${STREMIO_SERVER_HOSTNAME}, + ${STREMIO_STREAMING_CATALOGS_HOSTNAME}, ${STREMIO_TRAKT_ADDON_HOSTNAME}, ${STREMTHRU_HOSTNAME}, ${TAUTULLI_HOSTNAME}, diff --git a/apps/stremio-streaming-catalogs/.env b/apps/stremio-streaming-catalogs/.env new file mode 100644 index 0000000..c399759 --- /dev/null +++ b/apps/stremio-streaming-catalogs/.env @@ -0,0 +1,2 @@ +# Interval for refreshing every streaming catalog in milliseconds. Defaults to 6 hours (21600000 ms). +REFRESH_INTERVAL=21600000 \ No newline at end of file diff --git a/apps/stremio-streaming-catalogs/compose.yaml b/apps/stremio-streaming-catalogs/compose.yaml new file mode 100644 index 0000000..6f029d8 --- /dev/null +++ b/apps/stremio-streaming-catalogs/compose.yaml @@ -0,0 +1,51 @@ +services: + stremio-streaming-catalogs: + image: stremio-streaming-catalogs + container_name: stremio-streaming-catalogs + restart: unless-stopped + build: + context: https://github.com/rleroi/Stremio-Streaming-Catalogs-Addon.git + dockerfile_inline: | + FROM node:22.17-alpine + WORKDIR /app + + COPY package*.json ./ + + # Install production dependencies only + RUN npm ci --omit=dev --ignore-scripts && \ + npm cache clean --force + + # Copy application files + COPY vue ./vue + COPY index.js addon.js ./ + + ENV NODE_ENV=production + + ENTRYPOINT ["npm", "start"] + expose: + - 7700 + env_file: + - .env + labels: + - "traefik.enable=true" + - "traefik.http.routers.stremio-streaming-catalogs.rule=Host(`${STREMIO_STREAMING_CATALOGS_HOSTNAME?}`)" + - "traefik.http.routers.stremio-streaming-catalogs.entrypoints=websecure" + - "traefik.http.routers.stremio-streaming-catalogs.tls.certresolver=letsencrypt" + - "traefik.http.services.stremio-streaming-catalogs.loadbalancer.server.port=7700" + - "traefik.http.routers.stremio-streaming-catalogs.middlewares=authelia@docker" + healthcheck: + test: + [ + "CMD", + "wget", + "--quiet", + "--tries=1", + "--spider", + "http://localhost:7700/manifest.json", + ] + interval: 30s + timeout: 10s + retries: 3 + profiles: + - stremio-streaming-catalogs + - all diff --git a/compose.yaml b/compose.yaml index cb5f4a5..e8b354c 100644 --- a/compose.yaml +++ b/compose.yaml @@ -68,6 +68,7 @@ include: - apps/stremio-jackett/compose.yaml - apps/stremio-letterboxd/compose.yaml - apps/stremio-server/compose.yaml + - apps/stremio-streaming-catalogs/compose.yaml - apps/stremio-trakt-addon/compose.yaml - apps/stremthru/compose.yaml - apps/tautulli/compose.yaml