feat: cleanup, add recyclarr, add rclone.conf, zurg config.yml, and blackhole .env, uncomment debrid_media_server

This commit is contained in:
Viren070
2025-03-08 16:35:45 +00:00
parent 70f125e5a9
commit 266ad0fc90
39 changed files with 963 additions and 1401 deletions
+7 -5
View File
@@ -1,5 +1,6 @@
# stremio-addons-compose-template
A template compose.yaml to self host various Stremio addons and utilities
# Docker Compose VPS Template
A template compose.yaml to self host various applications on a server/VPS using Docker Compose with Traefik as a reverse proxy.
You can use the Always Free resources of Oracle to set this up. Here is a [set up guide](https://guides.viren070.me/oracle) I made for that.
@@ -10,15 +11,16 @@ It will go through setting up an Oracle VPS for free, installing Docker, and the
If you know what you're doing, then this is the general guide:
1. Ensure docker is installed per https://get.docker.com
2. Download and run the installation script
2. Clone this repository and cd into it:
```
curl https://raw.githubusercontent.com/Viren070/stremio-addons-docker-compose-template/refs/heads/main/install.sh | bash
git clone https://github.com/Viren070/docker-compose-vps-template.git docker-apps
cd docker-apps
```
3. Open the .env file using:
```
nano .env
```
4. Fill in all the values, making sure to read all the comments.
4. Fill in all the values, making sure to read all the comments, and filling in any other files that are mentioned.
5. Run this command:
```
docker compose up -d
-15
View File
@@ -1,15 +0,0 @@
services:
addon-manager:
image: reddravenn/stremio-addon-manager:latest
container_name: addon-manager
restart: unless-stopped
expose:
- 80
labels:
- "traefik.enable=true"
- "traefik.http.routers.addon-manager.rule=Host(`${ADDON_MANAGER_HOSTNAME}`)"
- "traefik.http.routers.addon-manager.entrypoints=websecure"
- "traefik.http.routers.addon-manager.tls.certresolver=myresolver"
- "flame.type=app"
- "flame.name=Stremio Addon Manager"
- "flame.url=https://${ADDON_MANAGER_HOSTNAME}"
-39
View File
@@ -1,39 +0,0 @@
services:
aiostreams:
image: ghcr.io/viren070/aiostreams:dev
container_name: aiostreams
restart: unless-stopped
expose:
- 3000
environment:
- 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=${AIOSTREAMS_EASYNEWS_PLUS_URL:-}
- MEDIAFUSION_URL=${AIOSTREAMS_MEDIAFUSION_URL:-}
- MEDIAFUSION_API_PASSWORD=${MEDIAFUSION_API_PASSWORD:-}
- MEDIAFUSION_CONFIG_TIMEOUT=3000
- 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:-}
labels:
- "traefik.enable=true"
- "traefik.http.routers.aio.rule=Host(`${AIOSTREAMS_HOSTNAME}`)"
- "traefik.http.routers.aio.entrypoints=websecure"
- "traefik.http.routers.aio.tls.certresolver=myresolver"
- "flame.type=app"
- "flame.name=AIOStreams"
- "flame.url=https://${AIOSTREAMS_HOSTNAME}"
networks:
- addon_network
networks:
addon_network:
external: true
-25
View File
@@ -1,25 +0,0 @@
services:
aiostremio:
image: viren070/aiostremio:latest
container_name: aiostremio
restart: unless-stopped
expose:
- 8469
volumes:
- ./data/aiostremio:/app/data
environment:
ADMIN_USERNAME: ${AIOSTREMIO_ADMIN_USERNAME}
ADMIN_PASSWORD: ${AIOSTREMIO_ADMIN_PASSWORD}
MEDIAFLOW_API_PASSWORD: ${MEDIAFLOW_API_PASSWORD}
REDIS_HOST: redis
REDIS_PORT: 6379
REDIS_PASSWORD:
DEBRID_API_KEY: ${DEBRID_API_KEY}
labels:
- "traefik.enable=true"
- "traefik.http.routers.aiostremio.rule=Host(`${AIOSTREMIO_HOSTNAME}`)"
- "traefik.http.routers.aiostremio.entrypoints=websecure"
- "traefik.http.routers.aiostremio.tls.certresolver=myresolver"
- "flame.type=app"
- "flame.name=AIOStreams"
- "flame.url=https://${AIOSTREMIO_HOSTNAME}"
-44
View File
@@ -1,44 +0,0 @@
services:
comet:
container_name: comet
image: g0ldyy/comet:rewrite
restart: unless-stopped
expose:
- 2020
environment:
- DASHBOARD_ADMIN_PASSWORD=${COMET_ADMIN_PASSWORD}
- 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_INDEXERS=${COMET_INDEXERS:-[]} # comma separated list of indexer ids # for jackett, get the names from https://github.com/Jackett/Jackett/tree/master/src/Jackett.Common/Definitions - for prowlarr you can write them like on the web dashboard
- SCRAPE_ZILEAN=True
- ZILEAN_URL=http://zilean:8181 # or https://zilean.elfhosted.com if not hosting zilean locally
- ZILEAN_TAKE_FIRST=500
- SCRAPE_TORRENTIO=False
- SCRAPE_MEDIAFUSION=False
- MEDIAFUSION_URL=http://mediafusion:8000 # or https://mediafusion.elfhosted.com if not hosting mediafusion locally
- STREMTHRU_URL=http://stremthru:8080 # or https://stremthru.13377001.xyz if not hosting stremthru locally
- DOWNLOAD_TORRENT_FILES=False
- 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}"
volumes:
- ./data/comet:/data
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
@@ -1,34 +0,0 @@
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
@@ -1,21 +0,0 @@
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
@@ -1,23 +0,0 @@
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
@@ -1,16 +0,0 @@
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
@@ -1,37 +0,0 @@
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
@@ -1,27 +0,0 @@
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
@@ -1,27 +0,0 @@
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
@@ -1,25 +0,0 @@
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
@@ -1,68 +0,0 @@
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
@@ -1,22 +0,0 @@
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
@@ -1,28 +0,0 @@
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
@@ -1,64 +0,0 @@
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
@@ -1,27 +0,0 @@
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
@@ -1,22 +0,0 @@
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
@@ -1,22 +0,0 @@
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
@@ -1,34 +0,0 @@
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
@@ -1,25 +0,0 @@
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
@@ -1,21 +0,0 @@
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
@@ -1,38 +0,0 @@
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
@@ -1,34 +0,0 @@
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
-37
View File
@@ -1,37 +0,0 @@
services:
traefik:
image: traefik:v3
container_name: traefik
restart: unless-stopped
ports:
- 443:443
# - 80:80 # adguard
- 127.0.0.1:8080:8080
# - 853:853/tcp # adguard
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
# - "--entryPoints.web.address=:80" # adguard
- "--entryPoints.websecure.address=:443"
# - "--entryPoints.dot.address=:853" # adguard
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
- "--certificatesresolvers.myresolver.acme.email=${LETSENCRYPT_EMAIL}"
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
- "--log.level=INFO"
- "--ping"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "./data/letsencrypt:/letsencrypt"
healthcheck:
test: ["CMD", "traefik", "healthcheck", "--ping"]
interval: 10s
timeout: 5s
retries: 3
networks:
- addon_network
networks:
addon_network:
external: true
-24
View File
@@ -1,24 +0,0 @@
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
-30
View File
@@ -1,30 +0,0 @@
services:
warp:
image: caomingjun/warp
container_name: warp
restart: unless-stopped
device_cgroup_rules:
- 'c 10:200 rwm'
expose:
- 1080
environment:
- WARP_SLEEP=5
cap_add:
- NET_ADMIN
sysctls:
- net.ipv6.conf.all.disable_ipv6=0
- net.ipv4.conf.all.src_valid_mark=1
volumes:
- ./data/warp:/var/lib/cloudflare-warp
healthcheck:
test: curl -x "socks5h://127.0.0.1:1080" -fsSL "https://www.cloudflare.com/cdn-cgi/trace" | grep -qE "warp=(plus|on)" || exit 1
interval: 15s
timeout: 5s
retries: 3
start_period: 5s
networks:
- addon_network
networks:
addon_network:
external: true
-38
View File
@@ -1,38 +0,0 @@
services:
watchtower:
image: containrrr/watchtower
container_name: watchtower
restart: unless-stopped
environment:
TZ: ${TZ:-UTC}
WATCHTOWER_CLEANUP: "true"
WATCHTOWER_SCHEDULE: ${AUTO_UPDATE_SCHEDULE:-0 0 6 * * *} # Run at 6am daily
WATCHTOWER_NOTIFICATION_URL: ${AUTO_UPDATE_NOTIFICATION_URL:-}
WATCHTOWER_NOTIFICATION_REPORT: "true"
WATCHTOWER_NOTIFICATION_TEMPLATE: |
{{- if .Report -}}
{{- with .Report -}}
{{- if ( or .Updated .Failed ) -}}
{{len .Scanned}} Scanned, {{len .Updated}} Updated, {{len .Failed}} Failed
{{- range .Updated}}
- {{.Name}} ({{.ImageName}}): {{.CurrentImageID.ShortID}} updated to {{.LatestImageID.ShortID}}
{{- end -}}
{{- range .Skipped}}
- {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}}
{{- end -}}
{{- range .Failed}}
- {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- else -}}
{{range .Entries -}}{{.Message}}{{"\n"}}{{- end -}}
{{- end -}}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
- addon_network
networks:
addon_network:
external: true
-32
View File
@@ -1,32 +0,0 @@
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:
- ./data/zilean/tmp:/tmp
networks:
- addon_network
networks:
addon_network:
external: true
+508 -491
View File
File diff suppressed because it is too large Load Diff
+46
View File
@@ -0,0 +1,46 @@
#-------------------------------#
# REALDEBRID - BLACKHOLE, REPAIR #
#-------------------------------#
REALDEBRID_ENABLED=true
REALDEBRID_HOST="https://api.real-debrid.com/rest/1.0/"
REALDEBRID_API_KEY=<realdebrid_api_key> # https://real-debrid.com/apitoken
REALDEBRID_MOUNT_TORRENTS_PATH="/mnt/remote/realdebrid/__all__"
#-----------------------#
# BLACKHOLE - BLACKHOLE #
#-----------------------#
BLACKHOLE_BASE_WATCH_PATH="/mnt/symlinks"
BLACKHOLE_RADARR_PATH="radarr"
BLACKHOLE_SONARR_PATH="sonarr"
BLACKHOLE_FAIL_IF_NOT_CACHED=true
BLACKHOLE_RD_MOUNT_REFRESH_SECONDS=200
BLACKHOLE_WAIT_FOR_TORRENT_TIMEOUT=300
BLACKHOLE_HISTORY_PAGE_SIZE=500
#-----------------------------------------------------------------------------------------------#
# DISCORD - BLACKHOLE, WATCHLIST, PLEX AUTHENTICATION, PLEX REQUEST, MONITOR RAM, RECLAIM SPACE #
#-----------------------------------------------------------------------------------------------#
DISCORD_ENABLED=false
DISCORD_UPDATE_ENABLED=false
DISCORD_WEBHOOK_URL=<discord_webhook_url>
#-----------------#
# REPAIR - REPAIR #
#-----------------#
REPAIR_REPAIR_INTERVAL="10m"
REPAIR_RUN_INTERVAL="1d"
#-----------------------#
# GENERAL CONFIGURATION #
#-----------------------#
PYTHONUNBUFFERED=TRUE
PUID=1000
PGID=1000
UMASK=002
DOCKER_NETWORK="scripts_default"
DOCKER_NETWORK_EXTERNAL=false
+352
View File
@@ -0,0 +1,352 @@
radarr:
radarr_default:
delete_old_custom_formats: true
replace_existing_custom_formats: true
include:
# Comment out any of the following includes to disable them
- template: radarr-quality-definition-movie
- template: radarr-quality-profile-remux-web-1080p
- template: radarr-custom-formats-remux-web-1080p
# Custom Formats: https://recyclarr.dev/wiki/yaml/config-reference/custom-formats/
custom_formats:
# Audio
- trash_ids:
# Uncomment the next section to enable Advanced Audio Formats
# - 496f355514737f7d83bf7aa4d24f8169 # TrueHD Atmos
# - 2f22d89048b01681dde8afe203bf2e95 # DTS X
# - 417804f7f2c4308c1f4c5d380d4c4475 # ATMOS (undefined)
# - 1af239278386be2919e1bcee0bde047e # DD+ ATMOS
# - 3cafb66171b47f226146a0770576870f # TrueHD
# - dcf3ec6938fa32445f590a4da84256cd # DTS-HD MA
# - a570d4a0e56a2874b64e5bfa55202a1b # FLAC
# - e7c2fcae07cbada050a0af3357491d7b # PCM
# - 8e109e50e0a0b83a5098b056e13bf6db # DTS-HD HRA
# - 185f1dd7264c4562b9022d963ac37424 # DD+
# - f9f847ac70a0af62ea4a08280b859636 # DTS-ES
# - 1c1a4c5e823891c75bc50380a6866f73 # DTS
# - 240770601cc226190c367ef59aba7463 # AAC
# - c2998bd0d90ed5621d8df281e839436e # DD
assign_scores_to:
- name: Remux + WEB 1080p
# Movie Versions
- trash_ids:
# Uncomment any of the following lines to prefer these movie versions
# - 0f12c086e289cf966fa5948eac571f44 # Hybrid
# - 570bc9ebecd92723d2d21500f4be314c # Remaster
# - eca37840c13c6ef2dd0262b141a5482f # 4K Remaster
# - e0c07d59beb37348e975a930d5e50319 # Criterion Collection
# - 9d27d9d2181838f76dee150882bdc58c # Masters of Cinema
# - db9b4c4b53d312a3ca5f1378f6440fc9 # Vinegar Syndrome
# - 957d0f44b592285f26449575e8b1167e # Special Edition
# - eecf3a857724171f968a66cb5719e152 # IMAX
# - 9f6cbff8cfe4ebbc1bde14c7b7bec0de # IMAX Enhanced
assign_scores_to:
- name: Remux + WEB 1080p
# Optional
- trash_ids:
# - b6832f586342ef70d9c128d40c07b872 # Bad Dual Groups
# - cc444569854e9de0b084ab2b8b1532b2 # Black and White Editions
# - 90cedc1fea7ea5d11298bebd3d1d3223 # EVO (no WEBDL)
- ae9b7c9ebde1f3bd336a8cbd1ec4c5e5 # No-RlsGroup
# - 7357cf5161efbf8c4d5d0c30b4815ee2 # Obfuscated
# - 5c44f52a8714fdd79bb4d98e2673be1f # Retags
# - f537cf427b64c38c8e36298f657e4828 # Scene
assign_scores_to:
- name: Remux + WEB 1080p
- trash_ids:
# Uncomment the next six lines to allow x265 HD releases with HDR/DV
# - dc98083864ea246d05a42df0d05f81cc # x265 (HD)
# assign_scores_to:
# - name: Remux + WEB 1080p
# score: 0
# - trash_ids:
# - 839bea857ed2c0a8e084f3cbdbd65ecb # x265 (no HDR/DV)
assign_scores_to:
- name: Remux + WEB 1080p
radarr_anime:
delete_old_custom_formats: true
replace_existing_custom_formats: true
media_naming:
folder: default
movie:
rename: true
standard: anime
include:
# Comment out any of the following includes to disable them
- template: radarr-quality-definition-movie
- template: radarr-quality-profile-anime
- template: radarr-custom-formats-anime
# Custom Formats: https://recyclarr.dev/wiki/yaml/config-reference/custom-formats/
custom_formats:
- trash_ids:
- 064af5f084a0a24458cc8ecd3220f93f # Uncensored
assign_scores_to:
- name: Remux-1080p - Anime
score: 0 # Adjust scoring as desired
- trash_ids:
- a5d148168c4506b55cf53984107c396e # 10bit
assign_scores_to:
- name: Remux-1080p - Anime
score: 0 # Adjust scoring as desired
- trash_ids:
- 4a3b087eea2ce012fcc1ce319259a3be # Anime Dual Audio
assign_scores_to:
- name: Remux-1080p - Anime
score: 0 # Adjust scoring as desired
radarr_4k:
delete_old_custom_formats: true
replace_existing_custom_formats: true
media_naming:
folder: default
movie:
rename: true
standard: standard
include:
# Comment out any of the following includes to disable them
- template: radarr-quality-definition-movie
- template: radarr-quality-profile-remux-web-2160p
- template: radarr-custom-formats-remux-web-2160p
# Custom Formats: https://recyclarr.dev/wiki/yaml/config-reference/custom-formats/
custom_formats:
- trash_ids:
# Audio
# Uncomment the next section to enable Advanced Audio Formats
# - 496f355514737f7d83bf7aa4d24f8169 # TrueHD Atmos
# - 2f22d89048b01681dde8afe203bf2e95 # DTS X
# - 417804f7f2c4308c1f4c5d380d4c4475 # ATMOS (undefined)
# - 1af239278386be2919e1bcee0bde047e # DD+ ATMOS
# - 3cafb66171b47f226146a0770576870f # TrueHD
# - dcf3ec6938fa32445f590a4da84256cd # DTS-HD MA
# - a570d4a0e56a2874b64e5bfa55202a1b # FLAC
# - e7c2fcae07cbada050a0af3357491d7b # PCM
# - 8e109e50e0a0b83a5098b056e13bf6db # DTS-HD HRA
# - 185f1dd7264c4562b9022d963ac37424 # DD+
# - f9f847ac70a0af62ea4a08280b859636 # DTS-ES
# - 1c1a4c5e823891c75bc50380a6866f73 # DTS
# - 240770601cc226190c367ef59aba7463 # AAC
# - c2998bd0d90ed5621d8df281e839436e # DD
assign_scores_to:
- name: Remux + WEB 2160p
# Movie Versions
- trash_ids:
# Uncomment any of the following lines to prefer these movie versions
# - 0f12c086e289cf966fa5948eac571f44 # Hybrid
# - 570bc9ebecd92723d2d21500f4be314c # Remaster
# - eca37840c13c6ef2dd0262b141a5482f # 4K Remaster
# - e0c07d59beb37348e975a930d5e50319 # Criterion Collection
# - 9d27d9d2181838f76dee150882bdc58c # Masters of Cinema
# - db9b4c4b53d312a3ca5f1378f6440fc9 # Vinegar Syndrome
# - 957d0f44b592285f26449575e8b1167e # Special Edition
# - eecf3a857724171f968a66cb5719e152 # IMAX
# - 9f6cbff8cfe4ebbc1bde14c7b7bec0de # IMAX Enhanced
assign_scores_to:
- name: Remux + WEB 2160p
# Optional
- trash_ids:
# - b6832f586342ef70d9c128d40c07b872 # Bad Dual Groups
# - cc444569854e9de0b084ab2b8b1532b2 # Black and White Editions
# - 90cedc1fea7ea5d11298bebd3d1d3223 # EVO (no WEBDL)
- ae9b7c9ebde1f3bd336a8cbd1ec4c5e5 # No-RlsGroup
# - 7357cf5161efbf8c4d5d0c30b4815ee2 # Obfuscated
# - 5c44f52a8714fdd79bb4d98e2673be1f # Retags
# - f537cf427b64c38c8e36298f657e4828 # Scene
assign_scores_to:
- name: Remux + WEB 2160p
- trash_ids:
# Uncomment the next six lines to allow x265 HD releases with HDR/DV
# - dc98083864ea246d05a42df0d05f81cc # x265 (HD)
# assign_scores_to:
# - name: Remux + WEB 2160p
# score: 0
# - trash_ids:
# - 839bea857ed2c0a8e084f3cbdbd65ecb # x265 (no HDR/DV)
assign_scores_to:
- name: Remux + WEB 2160p
- trash_ids:
# Comment out the next line if you and all of your users' setups are fully DV compatible
# - 923b6abef9b17f937fab56cfcf89e1f1 # DV (WEBDL)
# HDR10+ Boost - Uncomment the next two lines if any of your devices DO support HDR10+
- b17886cb4158d9fea189859409975758 # HDR10Plus Boost
- 55a5b50cb416dea5a50c4955896217ab # DV HDR10+ Boost
assign_scores_to:
- name: Remux + WEB 2160p
# Optional SDR
# Only ever use ONE of the following custom formats:
# SDR - block ALL SDR releases
# SDR (no WEBDL) - block UHD/4k Remux and Bluray encode SDR releases, but allow SDR WEB
- trash_ids:
- 9c38ebb7384dada637be8899efa68e6f # SDR
# - 25c12f78430a3a23413652cbd1d48d77 # SDR (no WEBDL)
assign_scores_to:
- name: Remux + WEB 2160p
sonarr:
sonarr_default:
delete_old_custom_formats: true
replace_existing_custom_formats: true
media_naming:
series: default
season: default
episodes:
rename: true
standard: default
daily: default
anime: default
include:
# Comment out any of the following includes to disable them
- template: sonarr-quality-definition-series
# Choose between the standard or alternative quality profile setup (choose one only)
# - template: sonarr-v4-quality-profile-web-1080p-
- template: sonarr-v4-quality-profile-web-1080p-alternative
- template: sonarr-v4-custom-formats-web-1080p
# Custom Formats: https://recyclarr.dev/wiki/yaml/config-reference/custom-formats/
custom_formats:
# Optional
- trash_ids:
# - 32b367365729d530ca1c124a0b180c64 # Bad Dual Groups
# - 82d40da2bc6923f41e14394075dd4b03 # No-RlsGroup
# - e1a997ddb54e3ecbfe06341ad323c458 # Obfuscated
# - 06d66ab109d4d2eddb2794d21526d140 # Retags
# - 1b3994c551cbb92a2c781af061f4ab44 # Scene
assign_scores_to:
- name: WEB-1080p
- trash_ids:
# Uncomment the next six lines to allow x265 HD releases with HDR/DV
# - 47435ece6b99a0b477caf360e79ba0bb # x265 (HD)
# assign_scores_to:
# - name: WEB-1080p
# score: 0
# - trash_ids:
# - 9b64dff695c2115facf1b6ea59c9bd07 # x265 (no HDR/DV)
assign_scores_to:
- name: WEB-1080p
sonarr_4k:
delete_old_custom_formats: true
replace_existing_custom_formats: true
media_naming:
series: default
season: default
episodes:
rename: true
standard: default
daily: default
anime: default
include:
# Comment out any of the following includes to disable them
- template: sonarr-quality-definition-series
# Choose between the standard or alternative quality profile setup (choose one only)
- template: sonarr-v4-quality-profile-web-2160p
# - template: sonarr-v4-quality-profile-web-2160p-alternative
- template: sonarr-v4-custom-formats-web-2160p
# Custom Formats: https://recyclarr.dev/wiki/yaml/config-reference/custom-formats/
custom_formats:
# HDR Formats
- trash_ids:
# Comment out the next line if you and all of your users' setups are fully DV compatible
- 9b27ab6498ec0f31a3353992e19434ca # DV (WEBDL)
# HDR10+ Boost - Uncomment the next two lines if any of your devices DO support HDR10+
# - 0dad0a507451acddd754fe6dc3a7f5e7 # HDR10+ Boost
# - 385e9e8581d33133c3961bdcdeffb7b4 # DV HDR10+ Boost
assign_scores_to:
- name: WEB-2160p
# Optional
- trash_ids:
# - 32b367365729d530ca1c124a0b180c64 # Bad Dual Groups
# - 82d40da2bc6923f41e14394075dd4b03 # No-RlsGroup
# - e1a997ddb54e3ecbfe06341ad323c458 # Obfuscated
# - 06d66ab109d4d2eddb2794d21526d140 # Retags
# - 1b3994c551cbb92a2c781af061f4ab44 # Scene
assign_scores_to:
- name: WEB-2160p
- trash_ids:
# Uncomment the next six lines to allow x265 HD releases with HDR/DV
# - 47435ece6b99a0b477caf360e79ba0bb # x265 (HD)
# assign_scores_to:
# - name: WEB-2160p
# score: 0
# - trash_ids:
# - 9b64dff695c2115facf1b6ea59c9bd07 # x265 (no HDR/DV)
assign_scores_to:
- name: WEB-2160p
# Optional SDR
# Only ever use ONE of the following custom formats:
# SDR - block ALL SDR releases
# SDR (no WEBDL) - block UHD/4k Remux and Bluray encode SDR releases, but allow SDR WEB
- trash_ids:
- 2016d1676f5ee13a5b7257ff86ac9a93 # SDR
# - 83304f261cf516bb208c18c54c0adf97 # SDR (no WEBDL)
assign_scores_to:
- name: WEB-2160p
sonarr_anime:
delete_old_custom_formats: true
replace_existing_custom_formats: true
media_naming:
series: default
season: default
episodes:
rename: true
standard: default
daily: default
anime: default
include:
# Comment out any of the following includes to disable them
- template: sonarr-quality-definition-anime
- template: sonarr-v4-quality-profile-anime
- template: sonarr-v4-custom-formats-anime
# Custom Formats: https://recyclarr.dev/wiki/yaml/config-reference/custom-formats/
custom_formats:
- trash_ids:
- 026d5aadd1a6b4e550b134cb6c72b3ca # Uncensored
assign_scores_to:
- name: Remux-1080p - Anime
score: 0 # Adjust scoring as desired
- trash_ids:
- b2550eb333d27b75833e25b8c2557b38 # 10bit
assign_scores_to:
- name: Remux-1080p - Anime
score: 0 # Adjust scoring as desired
- trash_ids:
- 418f50b10f1907201b6cfdf881f467b7 # Anime Dual Audio
assign_scores_to:
- name: Remux-1080p - Anime
score: 0 # Adjust scoring as desired
+17
View File
@@ -0,0 +1,17 @@
radarr_default_base_url: http://radarr:7878
radarr_default_api_key:
radarr_4k_base_url: http://radarr4k:7878
radarr_4k_api_key:
radarr_anime_base_url: http://radarranime:7878
radarr_anime_api_key:
sonarr_default_base_url: http://sonarr:8989
sonarr_default_api_key:
sonarr_4k_base_url: http://sonarr4k:8989
sonarr_4k_api_key:
sonarr_anime_base_url: http://sonarranime:8989
sonarr_anime_api_key:
+28
View File
@@ -0,0 +1,28 @@
# Zurg configuration version
zurg: v1
token: ENTER REAL-DEBRID API TOKEN HERE # https://real-debrid.com/apitoken
# host: "[::]"
# port: 9999
# username:
# password:
# proxy:
api_rate_limit_per_minute: 60
torrents_rate_limit_per_minute: 25
concurrent_workers: 32
check_for_changes_every_secs: 10
# repair_every_mins: 60
ignore_renames: true
retain_rd_torrent_name: true
retain_folder_name_extension: true
enable_repair: false
auto_delete_rar_torrents: false
get_torrents_count: 5000
# api_timeout_secs: 15
# download_timeout_secs: 10
# enable_download_mount: false
# rate_limit_sleep_secs: 6
# retries_until_failed: 2
# network_buffer_size: 4194304 # 4MB
serve_from_rclone: true
# verify_download_link: false
# force_ipv6: false
+5
View File
@@ -0,0 +1,5 @@
[zurg]
type = webdav
url = http://zurg:9999/dav
vendor = other
pacer_min_sleep = 0
-6
View File
@@ -1,6 +0,0 @@
curl https://raw.githubusercontent.com/Viren070/stremio-addons-docker-compose-template/refs/heads/main/.env -o .env
curl https://raw.githubusercontent.com/Viren070/stremio-addons-docker-compose-template/refs/heads/main/compose.yaml -o compose.yaml
mkdir -p ./data/mediafusion
mkdir -p ./data/honey
curl https://raw.githubusercontent.com/Viren070/stremio-addons-docker-compose-template/refs/heads/main/honey.config.json -o ./data/honey/config.json
curl https://raw.githubusercontent.com/Viren070/stremio-addons-docker-compose-template/refs/heads/main/.env.mediafusion -o ./data/mediafusion/.env