diff --git a/.env b/.env index ceb45a0..bef7513 100644 --- a/.env +++ b/.env @@ -187,6 +187,7 @@ SYNCRIBULLET_HOSTNAME=syncribullet.${DOMAIN} TAUTULLI_HOSTNAME=tautulli.${DOMAIN} THE_LOUNGE_HOSTNAME=thelounge.${DOMAIN} TMDB_ADDON_HOSTNAME=tmdb.${DOMAIN} +TMDB_ADDON_REDIS_HOSTNAME=tmdb-redis.${DOMAIN} TMDB_COLLECTIONS_HOSTNAME=tmdb-collections.${DOMAIN} TORBOX_MANAGER_HOSTNAME=tbm.${DOMAIN} TRAEFIK_HOSTNAME=traefik.${DOMAIN} diff --git a/apps/authelia/compose.yaml b/apps/authelia/compose.yaml index e3eed35..41daea7 100644 --- a/apps/authelia/compose.yaml +++ b/apps/authelia/compose.yaml @@ -38,6 +38,7 @@ services: ${STREMIO_STREAMING_CATALOGS_HOSTNAME}, ${SYNCRIBULLET_HOSTNAME}, ${TMDB_ADDON_HOSTNAME}, + ${TMDB_ADDON_REDIS_HOSTNAME}, ${TMDB_COLLECTIONS_HOSTNAME}, ${WEBSTREAMR_HOSTNAME} labels: diff --git a/apps/cloudflare-ddns/compose.yaml b/apps/cloudflare-ddns/compose.yaml index e8b145e..91a95f8 100644 --- a/apps/cloudflare-ddns/compose.yaml +++ b/apps/cloudflare-ddns/compose.yaml @@ -86,6 +86,7 @@ services: ${TAUTULLI_HOSTNAME}, ${THE_LOUNGE_HOSTNAME}, ${TMDB_ADDON_HOSTNAME}, + ${TMDB_ADDON_REDIS_HOSTNAME}, ${TMDB_COLLECTIONS_HOSTNAME}, ${TORBOX_MANAGER_HOSTNAME}, ${TRAEFIK_HOSTNAME}, diff --git a/apps/tmdb-addon-redis/.env b/apps/tmdb-addon-redis/.env new file mode 100644 index 0000000..ccab9dd --- /dev/null +++ b/apps/tmdb-addon-redis/.env @@ -0,0 +1,12 @@ +# Get your API key from https://www.themoviedb.org/settings/api +TMDB_API_KEY= +# Get your API key from https://fanart.tv/get-an-api-key/ +FANART_API_KEY= +# Get your TVDB API Key from https://thetvdb.com/api-information +TVDB_API_KEY= + +# Tip: The information that TMDb/TVDb/Fanart.tv ask from you does not need to be real. + +# Metrics configuration +METRICS_USER=admin +METRICS_PASSWORD=admin \ No newline at end of file diff --git a/apps/tmdb-addon-redis/compose.yaml b/apps/tmdb-addon-redis/compose.yaml new file mode 100644 index 0000000..cce2733 --- /dev/null +++ b/apps/tmdb-addon-redis/compose.yaml @@ -0,0 +1,50 @@ +services: + tmdb-addon-redis: + image: ghcr.io/cedya77/tmdb-addon:latest + container_name: tmdb-addon-redis + restart: unless-stopped + expose: + - 3232 + environment: + - PORT=3232 + - TMDB_API=${TMDB_API_KEY?} # https://www.themoviedb.org/settings/api + - FANART_API=${FANART_API_KEY?} # https://fanart.tv/get-an-api-key/ + - TVDB_API_KEY=${TVDB_API_KEY?} # https://thetvdb.com/api-information + - HOST_NAME=https://${TMDB_ADDON_REDIS_HOSTNAME?} + - METRICS_USER=${METRICS_USER?} + - METRICS_PASSWORD=${METRICS_PASSWORD?} + - REDIS_URL=redis://tmdb-addon_redis:6379 + - META_TTL=604800 # 1 week + - CATALOG_TTL=86400 # 1 day + - NO_CACHE=false # Enable cache, set to true to disable + labels: + - "traefik.enable=true" + - "traefik.http.routers.tmdb-redis.rule=Host(`${TMDB_ADDON_REDIS_HOSTNAME?}`)" + - "traefik.http.routers.tmdb-redis.entrypoints=websecure" + - "traefik.http.routers.tmdb-redis.tls.certresolver=letsencrypt" + - "traefik.http.routers.tmdb-redis.middlewares=authelia@docker" + - "traefik.http.services.tmdb-redis.loadbalancer.server.port=3232" + depends_on: + tmdb-addon-redis_redis: + condition: service_healthy + profiles: + - tmdb-addon-redis + - stremio + - all + + tmdb-addon-redis_redis: + image: redis:latest + container_name: tmdb-addon-redis_redis + restart: unless-stopped + volumes: + - ${DOCKER_DATA_DIR}/tmdb-redis/cache:/data + command: redis-server --appendonly yes --save 60 1 + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 5s + retries: 5 + profiles: + - tmdb-addon-redis + - stremio + - all diff --git a/compose.yaml b/compose.yaml index faadc9b..905ddf5 100644 --- a/compose.yaml +++ b/compose.yaml @@ -77,6 +77,7 @@ include: - apps/tautulli/compose.yaml - apps/thelounge/compose.yaml - apps/tmdb-addon/compose.yaml + - apps/tmdb-addon-redis/compose.yaml - apps/tmdb-collections/compose.yaml - apps/torbox-manager/compose.yaml - apps/torbox-media-center/compose.yaml