This commit is contained in:
Viren070
2025-02-17 23:51:05 +00:00
parent 2b628c42a1
commit a1fa6d67ca
25 changed files with 748 additions and 16 deletions
+15 -15
View File
@@ -1,28 +1,28 @@
services:
aiostreams:
image: viren070/aiostreams:latest
image: ghcr.io/viren070/aiostreams:dev
container_name: aiostreams
restart: unless-stopped
expose:
- 3000
environment:
- ADDON_PROXY=${ENABLE_PROXY:-false} == "true" && echo ${PROXY_URL} || echo ''
- ADDON_PROXY=${PROXY_URL:-} # only route requests to any strem.fun subdomain through the proxy
- ADDON_PROXY_CONFIG=*:false,*.strem.fun:true # only route requests to any strem.fun subdomain through the proxy
- EASYNEWS_PLUS_URL=${ENABLE_EASYNEWS_PLUS:-false} == "true" && echo "http://easynews-plus:1337/" || echo ""
- MEDIAFUSION_URL=${ENABLE_MEDIAFUSION:-false} == "true" && echo "http://mediafusion:8000/" || echo ""
- MEDIAFUSION_API_PASSWORD=${ENABLE_MEDIAFUSION:-false} == "true" && echo ${MEDIAFUSION_API_PASSWORD} || echo ""
- EASYNEWS_PLUS_URL=${AIOSTREAMS_EASYNEWS_PLUS_URL:-}
- MEDIAFUSION_URL=${AIOSTREAMS_MEDIAFUSION_URL:-}
- MEDIAFUSION_API_PASSWORD=${MEDIAFUSION_API_PASSWORD:-}
- MEDIAFUSION_CONFIG_TIMEOUT=3000
- COMET_URL=${ENABLE_COMET:-false} == "true" && echo "http://comet:2020/" || echo ""
- FORCE_COMET_HOSTNAME=${ENABLE_COMET:-false} == "true" && echo ${COMET_HOSTNAME} || echo ""
- COMET_INDEXERS=${COMET_INDEXERS:+${COMET_INDEXERS}}
- JACKETTIO_URL=${ENABLE_JACKETTIO:-false} == "true" && echo "http://jackettio:4000/" || echo ""
- STREMIO_JACKETT_URL=${ENABLE_JACKETTIO:-false} == "true" && echo "http://stremio-jackett:3000/" || echo ""
- JACKETT_URL=${ENABLE_JACKETT:-false} == "true" && echo "http://jackett:9117/" || echo ""
- JACKETT_API_KEY=${ENABLE_JACKETT:-false} == "true" && echo ${JACKETT_API_KEY} || echo ""
- JACKETT_INDEXERS=${ENABLE_JACKETT:-false} == "true" && echo ${JACKETT_INDEXERS} || echo ""
- SECRET_KEY=${AIOSTREAMS_SECRET_KEY} # openssl rand -hex 16
- COMET_URL=${AIOSTREAMS_COMET_URL:-}
- FORCE_COMET_HOSTNAME=${COMET_HOSTNAME:-}
- COMET_INDEXERS=${COMET_INDEXERS:-}
- JACKETTIO_URL=${AIOSTREAMS_JACKETTIO_URL:-}
- STREMIO_JACKETT_URL=${AIOSTREAMS_STREMIO_JACKETT_URL:-}
- JACKETT_URL=${AIOSTREAMS_JACKETT_URL:-}
- JACKETT_API_KEY=${AIOSTREAMS_JACKETT_API_KEY:-}
- JACKETT_INDEXERS=${AIOSTREAMS_JACKETT_INDEXERS:-}
- SECRET_KEY=${AIOSTREAMS_SECRET_KEY}
- DEFAULT_TIMEOUT=5000
- TMDB_API_KEY=${TMDB_API_KEY}
- TMDB_API_KEY=${TMDB_API_KEY:-}
labels:
- "traefik.enable=true"
- "traefik.http.routers.aio.rule=Host(`${AIOSTREAMS_HOSTNAME}`)"
+54
View File
@@ -0,0 +1,54 @@
services:
comet:
container_name: comet
image: g0ldyy/comet:latest
restart: unless-stopped
expose:
- 2020
environment:
- FASTAPI_PORT=2020
- FASTAPI_HOST=0.0.0.0
- FASTAPI_WORKERS=1
- ADDON_NAME=Comet
- ADDON_ID=stremio.comet.fast
- DASHBOARD_ADMIN_PASSWORD=${COMET_ADMIN_PASSWORD}
- DATABASE_TYPE=postgresql
- DATABASE_URL=${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/comet
- CACHE_TTL=86400 # 1 day
- DEBRID_PROXY_URL=http://warp:1080
- INDEXER_MANAGER_TYPE=prowlarr # or jackett
- INDEXER_MANAGER_URL=http://prowlarr:9696 # or http://jackett:9117
- INDEXER_MANAGER_API_KEY=${PROWLARR_API_KEY:-} # or ${JACKETT_API_KEY:-}
- INDEXER_MANAGER_TIMEOUT=60
- INDEXER_MANAGER_INDEXERS=${COMET_INDEXERS:-[]} # comma separated list of indexer ids
- GET_TORRENT_TIMEOUT=5
- ZILEAN_URL=http://zilean:8181
- ZILEAN_TAKE_FIRST=500
- SCRAPE_TORRENTIO=False
- SCRAPE_MEDIAFUSION=False
- MEDIAFUSION_URL=https://mediafusion.elfhosted.com
- PROXY_DEBRID_STREAM=False
- TITLE_MATCH_CHECK=True
- REMOVE_ADULT_CONTENT=True
labels:
- "traefik.enable=true"
- "traefik.http.routers.comet.rule=Host(`${COMET_HOSTNAME}`)"
- "traefik.http.routers.comet.entrypoints=websecure"
- "traefik.http.routers.comet.tls.certresolver=myresolver"
- "flame.type=app"
- "flame.name=Comet"
- "flame.url=https://${COMET_HOSTNAME}"
depends_on:
postgres:
condition: service_healthy
healthcheck:
test: wget -qO- http://127.0.0.1:2020/health
interval: 1m
timeout: 10s
retries: 5
start_period: 10s
networks:
- addon_network
networks:
addon_network:
external: true
+34
View File
@@ -0,0 +1,34 @@
services:
dozzle:
image: amir20/dozzle:latest
container_name: dozzle
restart: unless-stopped
expose:
- 8080
environment:
DOZZLE_ENABLE_ACTIONS: "true"
DOZZLE_NO_ANALYTICS: "true"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
labels:
- "traefik.enable=true"
- "traefik.http.routers.dozzle.rule=Host(`${DOZZLE_HOSTNAME}`)"
- "traefik.http.routers.dozzle.entrypoints=websecure"
- "traefik.http.routers.dozzle.tls.certresolver=myresolver"
- "traefik.http.routers.dozzle.middlewares=dozzle-auth"
- "traefik.http.middlewares.dozzle-auth.basicauth.users=${DOZZLE_USERNAME}:${DOZZLE_HASHED_PASSWORD}"
- "flame.type=app"
- "flame.name=Dozzle"
- "flame.url=https://${DOZZLE_HOSTNAME}"
healthcheck:
test: ["CMD", "/dozzle", "healthcheck"]
interval: 3s
timeout: 30s
retries: 5
start_period: 30s
networks:
- addon_network
networks:
addon_network:
external: true
+21
View File
@@ -0,0 +1,21 @@
services:
easynews-plus:
image: ghcr.io/sleeyax/stremio-easynews-addon:latest
container_name: easynews-plus
restart: unless-stopped
expose:
- 1337
labels:
- "traefik.enable=true"
- "traefik.http.routers.easynews.rule=Host(`${EASYNEWS_PLUS_HOSTNAME}`)"
- "traefik.http.routers.easynews.entrypoints=websecure"
- "traefik.http.routers.easynews.tls.certresolver=myresolver"
- "flame.type=app"
- "flame.name=Easynews+"
- "flame.url=https://${EASYNEWS_PLUS_HOSTNAME}"
networks:
- addon_network
networks:
addon_network:
external: true
+23
View File
@@ -0,0 +1,23 @@
services:
flame:
image: pawelmalak/flame:multiarch
container_name: flame
restart: unless-stopped
expose:
- 5005
environment:
- PASSWORD=${FLAME_PASSWORD}
labels:
- "traefik.enable=true"
- "traefik.http.routers.flame.rule=Host(`${FLAME_HOSTNAME}`)"
- "traefik.http.routers.flame.entrypoints=websecure"
- "traefik.http.routers.flame.tls.certresolver=myresolver"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data/flame:/app/data
networks:
- addon_network
networks:
addon_network:
external: true
+16
View File
@@ -0,0 +1,16 @@
services:
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8191/health"]
interval: 30s
timeout: 10s
retries: 3
networks:
- addon_network
networks:
addon_network:
external: true
+37
View File
@@ -0,0 +1,37 @@
services:
gluetun:
image: qmcgaw/gluetun
container_name: gluetun
restart: unless-stopped
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
ports:
- 127.0.0.1:8888:8888/tcp # HTTP proxy
environment:
- VPN_SERVICE_PROVIDER=protonvpn
- VPN_TYPE=wireguard
- WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
- SERVER_COUNTRIES=Netherlands
- FREE_ONLY=true
# Server list updater
# See https://github.com/qdm12/gluetun-wiki/blob/main/setup/servers.md#update-the-vpn-servers-list
- UPDATER_PERIOD=24h
- HTTPPROXY=on
- HTTPPROXY_LISTENING_ADDRESS=:8888
- HTTPPROXY_STEALTH=on
volumes:
- gluetun-data:/gluetun
healthcheck:
test: ["CMD", "/gluetun-entrypoint", "healthcheck"]
interval: 60s
timeout: 5s
retries: 3
start_period: 1m
networks:
- addon_network
networks:
addon_network:
external: true
+27
View File
@@ -0,0 +1,27 @@
services:
jackett:
image: linuxserver/jackett:latest
container_name: jackett
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ:-UTC} # Add timezone support
expose:
- 9117
volumes:
- ./data/jackett:/config
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.jackett.rule=Host(`${JACKETT_HOSTNAME}`)"
- "traefik.http.routers.jackett.entrypoints=websecure"
- "traefik.http.routers.jackett.tls.certresolver=myresolver"
- "flame.type=app"
- "flame.name=Jackett"
- "flame.url=https://${JACKETT_HOSTNAME}"
healthcheck:
test: curl -f http://localhost:9117/health
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
+27
View File
@@ -0,0 +1,27 @@
services:
jackettio:
image: arvida42/jackettio:latest
container_name: jackettio
restart: unless-stopped
expose:
- 4000
environment:
- JACKETT_URL=http://jackett:9117
- JACKETT_API_KEY=${JACKETT_API_KEY:-}
- TMDB_ACCESS_TOKEN=${TMDB_ACCESS_TOKEN}
volumes:
- ./data/jackettio:/data
labels:
- "traefik.enable=true"
- "traefik.http.routers.jackettio.rule=Host(`${JACKETTIO_HOSTNAME}`)"
- "traefik.http.routers.jackettio.entrypoints=websecure"
- "traefik.http.routers.jackettio.tls.certresolver=myresolver"
- "flame.type=app"
- "flame.name=Jackettio"
- "flame.url=https://${JACKETTIO_HOSTNAME}"
networks:
- addon_network
networks:
addon_network:
external: true
+25
View File
@@ -0,0 +1,25 @@
services:
mediaflow-proxy:
image: mhdzumair/mediaflow-proxy
container_name: mediaflow-proxy
restart: unless-stopped
expose:
- 8888
environment:
API_PASSWORD: ${MEDIAFLOW_API_PASSWORD}
PROXY_URL: ${HTTP_PROXY:-}
TRANSPORT_ROUTES: '{ "https://torrentio.strem.fun": { "proxy": true } }'
labels:
- "traefik.enable=true"
- "traefik.http.routers.mediaflow.rule=Host(`${MEDIAFLOW_HOSTNAME}`)"
- "traefik.http.routers.mediaflow.entrypoints=websecure"
- "traefik.http.routers.mediaflow.tls.certresolver=myresolver"
- "flame.type=app"
- "flame.name=MediaFlow Proxy"
- "flame.url=https://${MEDIAFLOW_HOSTNAME}"
healthcheck:
test: python3 -c "import urllib.request; print(urllib.request.urlopen('http://127.0.0.1:8888/health').read().decode())"
interval: 1m
timeout: 10s
retries: 5
start_period: 10s
+68
View File
@@ -0,0 +1,68 @@
services:
mediafusion:
image: mhdzumair/mediafusion:latest
container_name: mediafusion
restart: unless-stopped
expose:
- 8000
environment:
- HOST_URL=https://${MEDIAFUSION_HOSTNAME}
- POSTER_HOST_URL=https://${MEDIAFUSION_HOSTNAME}
- MONGO_URI=mongodb://mongodb:27017/mediafusion
- REDIS_URL=redis://redis:6379
- IS_SCRAP_FROM_TORRENTIO=true
- IS_SCRAP_FROM_MEDIAFUSION=true
- IS_SCRAP_FROM_ZILEAN=true
- IS_SCRAP_FROM_PROWLARR=true
- IS_SCRAP_FROM_JACKETT=true
- IS_SCRAP_FROM_YTS=false
- PROWLARR_API_KEY=${PROWLARR_API_KEY:-}
- PROWLARR_URL=http://prowlarr:9696
- PROWLARR_IMMEDIATE_MAX_PROCESS=30
- PROWLARR_IMMEDIATE_MAX_PROCESS_TIME=30
- PROWLARR_SEARCH_INTERVAL_HOUR=24
- PROWLARR_LIVE_TITLE_SEARCH=true
- JACKETT_URL=http://jackett:9117
- JACKETT_API_KEY=${JACKETT_API_KEY:-}
- JACKETT_IMMEDIATE_MAX_PROCESS=30
- JACKETT_IMMEDIATE_MAX_PROCESS_TIME=30
- JACKETT_SEARCH_INTERVAL_HOUR=24
- JACKETT_LIVE_TITLE_SEARCH=true
- ENABLE_RATE_LIMIT=false
- TORRENTIO_URL=https://torrentio.strem.fun
- MEDIAFUSION_URL=https://mediafusion.elfhosted.com
- ZILEAN_URL=http://zilean:8181
- STORE_STREMTHRU_MAGNET_CACHE=false
- REQUESTS_PROXY_URL=${HTTP_PROXY_URL:-}
- FLARESOLVERR_URL=http://flaresolverr:8191
- TMDB_API_KEY=${TMDB_API_KEY} # https://www.themoviedb.org/settings/api
- SECRET_KEY=${MEDIAFUSION_SECRET_KEY} # openssl rand -hex 32
- API_PASSWORD=${MEDIAFUSION_API_PASSWORD} # random password for API
# - LOGGING_LEVEL="DEBUG"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 1m
timeout: 10s
retries: 5
start_period: 10s
depends_on:
mongodb:
condition: service_healthy
redis:
condition: service_healthy
warp:
condition: service_healthy
labels:
- "traefik.enable=true"
- "traefik.http.routers.mediafusion.rule=Host(`${MEDIAFUSION_HOSTNAME}`)"
- "traefik.http.routers.mediafusion.entrypoints=websecure"
- "traefik.http.routers.mediafusion.tls.certresolver=myresolver"
- "flame.type=app"
- "flame.name=MediaFusion"
- "flame.url=https://${MEDIAFUSION_HOSTNAME}"
networks:
- addon_network
networks:
addon_network:
external: true
+22
View File
@@ -0,0 +1,22 @@
services:
mongodb:
image: mongo:latest
container_name: mongodb
restart: unless-stopped
volumes:
- mongodb-data:/data/db
healthcheck:
test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet
interval: 10s
timeout: 10s
retries: 5
start_period: 40s
networks:
- addon_network
networks:
addon_network:
external: true
volumes:
mongodb-data:
+28
View File
@@ -0,0 +1,28 @@
services:
nzbhydra2:
container_name: nzbhydra2
image: ghcr.io/hotio/nzbhydra2:latest
expose:
- 5076
environment:
- PUID=1000
- PGID=1000
- UMASK=002
- TZ=${TZ:-UTC}
volumes:
- ./data/nzbhydra/config:/config
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.nzbhydra2.rule=Host(`${NZBHYDRA2_HOSTNAME}`)"
- "traefik.http.routers.nzbhydra2.entrypoints=websecure"
- "traefik.http.routers.nzbhydra2.tls.certresolver=myresolver"
- "flame.type=app"
- "flame.name=NZBHydra2"
- "flame.url=https://${NZBHYDRA2_HOSTNAME}"
networks:
- addon_network
networks:
addon_network:
external: true
+64
View File
@@ -0,0 +1,64 @@
services:
plausible_db:
image: postgres:16-alpine
restart: unless-stopped
container_name: plausible-db
volumes:
- plausible-db:/var/lib/postgresql/data
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
start_period: 1m
plausible_events_db:
image: clickhouse/clickhouse-server:24.3.3.102-alpine
restart: unless-stopped
container_name: plausible-events-db
volumes:
- plausible-event-db:/var/lib/clickhouse
- plausible-event-logs:/var/log/clickhouse-server
- ./data/plausible/clickhouse/logs.xml:/etc/clickhouse-server/config.d/logs.xml:ro
- ./data/plausible/clickhouse/ipv4-only.xml:/etc/clickhouse-server/config.d/ipv4-only.xml:ro
- ./data/plausible/clickhouse/low-resources.xml:/etc/clickhouse-server/config.d/low-resources.xml:ro
ulimits:
nofile:
soft: 262144
hard: 262144
healthcheck:
test: ["CMD-SHELL", "wget --no-verbose --tries=1 -O - http://127.0.0.1:8123/ping || exit 1"]
start_period: 1m
plausible:
image: ghcr.io/plausible/community-edition:latest
container_name: plausible
restart: unless-stopped
command: sh -c "/entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"
depends_on:
plausible_db:
condition: service_healthy
plausible_events_db:
condition: service_healthy
volumes:
- plausible-data:/var/lib/plausible
ulimits:
nofile:
soft: 65535
hard: 65535
expose:
- 8000
environment:
TMPDIR: /var/lib/plausible/tmp
BASE_URL: https://${PLAUSIBLE_HOSTNAME}
SECRET_KEY_BASE: ${PLAUSIBLE_SECRET_KEY_BASE}
HTTP_PORT: 8000
labels:
- "traefik.enable=true"
- "traefik.http.routers.plausible.rule=Host(`${PLAUSIBLE_HOSTNAME}`)"
- "traefik.http.routers.plausible.entrypoints=websecure"
- "traefik.http.routers.plausible.tls.certresolver=myresolver"
- "traefik.http.services.plausible.loadbalancer.server.port=8000"
- "flame.type=app"
- "flame.name=Plausible"
- "flame.url=https://${PLAUSIBLE_HOSTNAME}"
+27
View File
@@ -0,0 +1,27 @@
services:
postgres:
image: postgres:17.2-alpine
container_name: postgres
restart: unless-stopped
shm_size: 2G
environment:
PGDATA: /var/lib/postgresql/data/pgdata
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: postgres
volumes:
- postgres-data:/var/lib/postgresql/data/pgdata
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U postgres" ]
interval: 10s
timeout: 5s
retries: 5
networks:
- addon_network
networks:
addon_network:
external: true
volumes:
postgres-data:
+22
View File
@@ -0,0 +1,22 @@
services:
prowlarr:
image: ghcr.io/hotio/prowlarr:latest
container_name: prowlarr
environment:
- PUID=1000
- PGID=1000
- UMASK=002
- TZ=${TZ:-UTC} # Add timezone support
expose:
- 9696
volumes:
- ./data/prowlarr:/config
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.prowlarr.rule=Host(`${PROWLARR_HOSTNAME}`)"
- "traefik.http.routers.prowlarr.entrypoints=websecure"
- "traefik.http.routers.prowlarr.tls.certresolver=myresolver"
- "flame.type=app"
- "flame.name=Prowlarr"
- "flame.url=https://${PROWLARR_HOSTNAME}"
+22
View File
@@ -0,0 +1,22 @@
services:
redis:
image: redis:latest
container_name: redis
restart: unless-stopped
volumes:
- redis-data:/data
command: redis-server --appendonly yes --save 60 1
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
networks:
- addon_network
networks:
addon_network:
external: true
volumes:
redis-data:
+34
View File
@@ -0,0 +1,34 @@
services:
seanime:
image: umagistr/seanime
container_name: seanime
command:
volumes:
- /mnt/user/anime:/anime
- /mnt/user/downloads:/downloads
- ./data/seanime:/root/.config/Seanime
expose:
- 43211
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.seanime.rule=Host(`${SEANIME_HOSTNAME}`)"
- "traefik.http.routers.seanime.entrypoints=websecure"
- "traefik.http.routers.seanime.tls.certresolver=myresolver"
- "traefik.http.routers.seanime.middlewares=seanime-auth"
- "traefik.http.middlewares.seanime-auth.basicauth.users=${SEANIME_USERNAME}:${SEANIME_HASHED_PASSWORD}"
- "flame.type=app"
- "flame.name=Seanime"
- "flame.url=https://${SEANIME_HOSTNAME}"
healthcheck:
test: wget -qO- http://localhost:43211/api/v1/status
interval: 5m
timeout: 10s
retries: 5
start_period: 10s
networks:
- addon_network
networks:
addon_network:
external: true
+25
View File
@@ -0,0 +1,25 @@
services:
stremio-jackett:
image: belmeg/stremio-addon-jackett
container_name: stremio-jackett
restart: unless-stopped
expose:
- 3000
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ:-UTC} # Add timezone support
labels:
- "traefik.enable=true"
- "traefik.http.routers.stremiojackett.rule=Host(`${STREMIO_JACKETT_HOSTNAME}`)"
- "traefik.http.routers.stremiojackett.entrypoints=websecure"
- "traefik.http.routers.stremiojackett.tls.certresolver=myresolver"
- "flame.type=app"
- "flame.name=Stremio-Jackett"
- "flame.url=https://${STREMIO_JACKETT_HOSTNAME}"
networks:
- addon_network
networks:
addon_network:
external: true
+21
View File
@@ -0,0 +1,21 @@
services:
stremio-server:
image: stremio/server:latest
container_name: stremio-server
expose:
- 11470
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.stremio-server.rule=Host(`${STREMIO_SERVER_HOSTNAME}`)"
- "traefik.http.routers.stremio-server.entrypoints=websecure"
- "traefik.http.routers.stremio-server.tls.certresolver=myresolver"
- "flame.type=app"
- "flame.name=Stremio Server"
- "flame.url=https://${STREMIO_SERVER_HOSTNAME}"
networks:
- addon_network
networks:
addon_network:
external: true
+38
View File
@@ -0,0 +1,38 @@
services:
stremthru:
image: muniftanjim/stremthru:latest-heavy
container_name: stremthru
restart: unless-stopped
expose:
- 8080
environment:
- STREMTHRU_HTTP_PROXY=http://warp:1080
- STREMTHRU_TUNNEL=*:false,torrentio.strem.fun:true # Only tunnel hostnames that block VPS access (e.g. Torrentio)
- STREMTHRU_PROXY_AUTH=user1:pass1,user2:pass2
- STREMTHRU_STORE_AUTH=*:realdebrid:abc...xyz # Add apikey
- STREMTHRU_STORE_TUNNEL=realdebrid:api # Only send RD API via tunnel, not all access (e.g playback)
- STREMTHRU_STORE_CONTENT_PROXY=*:true,easydebrid:false,premiumize:false
- STREMTHRU_PEER_URI=https://stremthru.mooo.com
- STREMTHRU_DATABASE_URI=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/stremthru?sslmode=disable
- STREMTHRU_REDIS_URI=redis://redis:6379
depends_on:
stremthru-db:
condition: service_healthy
stremthru-cache:
condition: service_healthy
labels:
- "traefik.enable=true"
- "traefik.http.routers.stremthru.rule=Host(`${STREMTHRU_HOSTNAME}`)"
- "traefik.http.routers.stremthru.entrypoints=websecure"
- "traefik.http.routers.stremthru.tls.certresolver=myresolver"
- "traefik.http.services.stremthru.loadbalancer.server.port=8080"
- "flame.type=app"
- "flame.name=StremThru"
- "flame.url=https://${STREMTHRU_HOSTNAME}"
networks:
- addon_network
networks:
addon_network:
external: true
+34
View File
@@ -0,0 +1,34 @@
services:
tmdb-addon:
image: mrcanelas/tmdb-addon:latest
container_name: tmdb-addon
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/
- HOST_NAME=tmdb-${TMDB_ADDON_HOSTNAME}
- MONGODB_URI=mongodb://mongodb:27017/tmdb
- 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.rule=Host(`${TMDB_ADDON_HOSTNAME}`)"
- "traefik.http.routers.tmdb.entrypoints=websecure"
- "traefik.http.routers.tmdb.tls.certresolver=myresolver"
- "traefik.http.services.tmdb.loadbalancer.server.port=3232"
- "flame.type=app"
- "flame.name=TMDB Addon"
- "flame.url=https://${TMDB_ADDON_HOSTNAME}"
depends_on:
mongodb:
condition: service_healthy
networks:
- addon_network
networks:
addon_network:
external: true
+24
View File
@@ -0,0 +1,24 @@
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: kuma
restart: unless-stopped
expose:
- 3001
labels:
- "traefik.enable=true"
- "traefik.http.routers.uptime-kuma.rule=Host(`${UPTIME_KUMA_HOSTNAME}`)"
- "traefik.http.routers.uptime-kuma.entrypoints=websecure"
- "traefik.http.routers.uptime-kuma.tls.certresolver=myresolver"
- "flame.type=app"
- "flame.name=Uptime Kuma"
- "flame.url=https://${UPTIME_KUMA_HOSTNAME}"
volumes:
- ./data/kuma:/app/data
- /var/run/docker.sock:/var/run/docker.sock
networks:
- addon_network
networks:
addon_network:
external: true
+7 -1
View File
@@ -29,4 +29,10 @@ services:
{{range .Entries -}}{{.Message}}{{"\n"}}{{- end -}}
{{- end -}}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/run/docker.sock:/var/run/docker.sock
networks:
- addon_network
networks:
addon_network:
external: true
+33
View File
@@ -0,0 +1,33 @@
services:
zilean:
image: ipromknight/zilean:latest
restart: unless-stopped
container_name: zilean
tty: true
environment:
Zilean__Database__ConnectionString: Host=postgres;Database=zilean;Username=${POSTGRES_USER};Password=${POSTGRES_PASSWORD};Include Error Detail=true;Timeout=30;CommandTimeout=3600
Zilean__Imdb__UseAllCores: true
Zilean__Imdb__UseLucene: true
healthcheck:
test: curl --connect-timeout 10 --silent --show-error --fail http://localhost:8181/healthchecks/ping
timeout: 60s
interval: 30s
retries: 10
depends_on:
postgres:
condition: service_healthy
volumes:
- zilean-tmp:/tmp
networks:
- addon_network
networks:
addon_network:
external: true