mirror of
https://github.com/Viren070/docker-compose-template.git
synced 2025-12-01 23:17:00 +01:00
refactor: store config files with composes
This commit is contained in:
@@ -9,8 +9,9 @@ TZ=Etc/UTC
|
||||
# Directory configuration. This .env file should be in /opt/docker, using the defaults below.
|
||||
# You MUST use absolute paths, otherwise each bind mount would be created relative to each compose file, and not
|
||||
# the current directory
|
||||
DOCKER_DATA_DIR=/opt/docker/data
|
||||
DOCKER_APP_DIR=/opt/docker/apps
|
||||
DOCKER_DIR=/opt/docker
|
||||
DOCKER_DATA_DIR=${DOCKER_DIR}/data
|
||||
DOCKER_APP_DIR=${DOCKER_DIR}/apps
|
||||
|
||||
# The process user ID and group ID to use for applicable containers.
|
||||
# Run 'id' to see your UID and GID
|
||||
@@ -86,7 +87,7 @@ AUTHELIA_JWT_SECRET=""
|
||||
# tell you how to add users
|
||||
# Currently there is only one user (user1 with password 'password') and it has access to everything.
|
||||
# If you would like to configure access control policies, you will need to edit the access_control key
|
||||
# in the ${DOCKER_DATA_DIR}/data/authelia/config/configuration.yml file.
|
||||
# in the ${DOCKER_APP_DIR}/authelia/config/configuration.yml file.
|
||||
|
||||
# ==========================================================
|
||||
# CLOUDFLARE DDNS
|
||||
@@ -185,6 +186,8 @@ COMPOSE_PROJECT_NAME=aio
|
||||
COMPOSE_REMOVE_ORPHANS=true
|
||||
# Delegate building to bake for improved performance.
|
||||
COMPOSE_BAKE=true
|
||||
# Defining the location of the compose file.
|
||||
COMPOSE_FILE=${DOCKER_DIR}/compose.yaml
|
||||
# Whether to change the name of the network that all containers run on or to connect to an external network.
|
||||
# Reference: https://docs.docker.com/compose/how-tos/networking/#use-a-pre-existing-network
|
||||
DOCKER_NETWORK=aio_network
|
||||
|
||||
@@ -521,7 +521,7 @@ EASYNEWS_URL=https://ea627ddf0ee7-easynews.baby-beamup.club/
|
||||
# DEFAULT_EASYNEWS_TIMEOUT=
|
||||
|
||||
# ------------ DEBRIDIO -----------
|
||||
DEBRIDIO_URL=https://debridio.adobotec.com/
|
||||
DEBRIDIO_URL=https://addon.debridio.com/
|
||||
# DEFAULT_DEBRIDIO_TIMEOUT=
|
||||
|
||||
# ------------ DEBRIDIO TVDB ------------
|
||||
|
||||
@@ -6,7 +6,7 @@ services:
|
||||
expose:
|
||||
- 8469
|
||||
volumes:
|
||||
- ${DOCKER_DATA_DIR}/aiostremio:/app/data
|
||||
- ./config.json:/app/data/config.json
|
||||
- ${DOCKER_DATA_DIR}/aiostremio/db:/app/db
|
||||
env_file:
|
||||
- .env
|
||||
|
||||
+3
-3
@@ -23,13 +23,13 @@
|
||||
AUTHELIA_WEBAUTHN_DISPLAY_NAME="Authelia"
|
||||
|
||||
# The valid users for Authelia are stored in the users.yml file.
|
||||
# This is located in `${DOCKER_DATA_DIR}/data/authelia/config/users.yml`
|
||||
# This is located in `./config/users.yml`
|
||||
# You must add your users to this file in order to be able to access secured services.
|
||||
|
||||
# Note: When you first login with a user, Authelia will ask for a code that it says it sent to you.
|
||||
# This will be located in the notification.txt file in the same directory as the users.yml file.
|
||||
# You can run this command to view the file, replacing ${DOCKER_DATA_DIR} with its actual value:
|
||||
# cat ${DOCKER_DATA_DIR}/data/authelia/config/notification.txt
|
||||
# You can run this command to view the file:
|
||||
# cat /opt/docker/apps/authelia/config/notification.txt
|
||||
|
||||
# A list of domains to apply page specific rules to.
|
||||
# Although we can't fully protect Stremio addons, we can still add authentication to specific pages like the configuration pages.
|
||||
|
||||
@@ -24,7 +24,7 @@ services:
|
||||
- "traefik.http.middlewares.authelia.forwardAuth.trustForwardHeader=true"
|
||||
- "traefik.http.middlewares.authelia.forwardAuth.authResponseHeaders=Remote-User,Remote-Groups,Remote-Email,Remote-Name"
|
||||
volumes:
|
||||
- '${DOCKER_DATA_DIR}/authelia/config:/config'
|
||||
- './config:/config'
|
||||
depends_on:
|
||||
authelia_redis:
|
||||
condition: service_healthy
|
||||
|
||||
@@ -18,7 +18,7 @@ services:
|
||||
- "traefik.http.routers.autosync.middlewares=authelia@docker"
|
||||
- "traefik.http.services.autosync.loadbalancer.server.port=3536"
|
||||
volumes:
|
||||
- ${DOCKER_DATA_DIR}/autosync/config.yaml:/app/config.yaml
|
||||
- ./config.yaml:/app/config.yaml
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /mnt:/mnt:rslave
|
||||
depends_on:
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
# 🧠 Borgmatic + BorgBase Setup
|
||||
# Coupled with https://www.borgbase.com/ — which offers 10 GB free encrypted backup storage.
|
||||
# Thanks to efficient deduplication and compression, actual usage remains low even for large datasets.
|
||||
|
||||
# 🔐 Your BorgBase repository SSH path
|
||||
BORG_REPO_URL=ssh://USERNAME@repo.borgbase.com:22/REPO-ID
|
||||
|
||||
# 🗝️ Borg encryption passphrase (do not hardcode in config.yaml)
|
||||
BORG_PASSPHRASE="your-strong-passphrase"
|
||||
|
||||
# 🕓 Backup cron schedule (Every Sunday at 4 AM)
|
||||
BACKUP_CRON=0 4 * * 0
|
||||
RUN_ON_STARTUP=true
|
||||
|
||||
# 🌍 These values are inherited from your root /opt/docker/.env
|
||||
# TZ=Asia/Kolkata
|
||||
# PUID=1001
|
||||
# PGID=1001
|
||||
|
||||
# ✅ One-time SSH key setup (run before container start):
|
||||
# mkdir -p /opt/docker/data/borgmatic/.ssh
|
||||
# ssh-keygen -t ed25519 -f /opt/docker/data/borgmatic/.ssh/id_ed25519 -N ""
|
||||
# ➕ Copy the id_ed25519.pub content to your BorgBase repository SSH key section
|
||||
|
||||
# 📁 Optional (can also be auto-created at container start):
|
||||
# mkdir -p /opt/docker/data/borgmatic/{repo,borg,cache,logs}
|
||||
|
||||
# 🔑 After initializing the repo, export your Borg key!
|
||||
# docker exec -it borgmatic sh
|
||||
# borg key export $BORG_REPO_URL /root/.config/borg/borgbase-key-backup
|
||||
# exit
|
||||
# docker cp borgmatic:/root/.config/borg/borgbase-key-backup ~/borgbase-key-backup
|
||||
# 📌 Keep ~/borgbase-key-backup in a safe, secure place (e.g., password manager or external drive)
|
||||
@@ -0,0 +1,26 @@
|
||||
services:
|
||||
borgmatic:
|
||||
image: ghcr.io/borgmatic-collective/borgmatic:latest
|
||||
container_name: borgmatic
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
- /opt/docker:/mnt/source:ro # 🔍 Maps your entire stack (read-only) as the backup source
|
||||
- ${DOCKER_DATA_DIR}/borgmatic:/etc/borgmatic # ⚙️ Config folder (holds config.yaml + .env)
|
||||
- ${DOCKER_DATA_DIR}/borgmatic/.ssh:/root/.ssh # 🔐 SSH key pair for BorgBase access
|
||||
- ${DOCKER_DATA_DIR}/borgmatic/repo:/mnt/borg-repository # 💾 Optional local repo folder (not used)
|
||||
- ${DOCKER_DATA_DIR}/borgmatic/borg:/root/.config/borg # 🧠 Borg key and config files
|
||||
- ${DOCKER_DATA_DIR}/borgmatic/cache:/root/.cache/borg # ⚡ Cache for deduplication and performance
|
||||
|
||||
environment:
|
||||
- TZ=${TZ} # 🌍 Timezone from main .env
|
||||
- PUID=${PUID} # 👤 Your user ID (for file permissions)
|
||||
- PGID=${PGID} # 👥 Your group ID
|
||||
- BORG_PASSPHRASE=${BORG_PASSPHRASE} # 🔐 Secure passphrase (don't hardcode in config.yaml)
|
||||
- BORG_REPO_URL=${BORG_REPO_URL} # 📦 BorgBase SSH repository path
|
||||
- BACKUP_CRON=0 4 * * 0 # 🕓 Weekly backup: Every Sunday at 4 AM
|
||||
- RUN_ON_STARTUP=true # 🚀 Trigger a backup when the container starts
|
||||
|
||||
profiles:
|
||||
- borgmatic # 🧩 Use this profile to selectively start this service
|
||||
- all # ✅ Include in full stack if needed
|
||||
+13
-10
@@ -1,24 +1,27 @@
|
||||
# -------------- DebriDav Internal Paths --------------
|
||||
# -------------- Paths --------------
|
||||
|
||||
# Internal path used inside the DebriDav container (should not be changed)
|
||||
# DebriDav's internal storage ( NOT the path where DebriDav's WebDAV server should be mounted )
|
||||
# This only affects the internals of the DebriDav container, and should not need to be changed.
|
||||
DEBRIDAV_ROOT_PATH=/mnt
|
||||
|
||||
# Path on host that maps to DEBRIDAV_ROOT_PATH inside container
|
||||
DEBRIDAV_ROOT_HOST_FS=/mnt
|
||||
# Where DEBRIDAV_ROOT_PATH will be mapped to on the host FS
|
||||
DEBRIDAV_ROOT_HOST_FS=/mnt/remote/debridav
|
||||
|
||||
# Subdirectory within DEBRIDAV_ROOT_PATH for downloads
|
||||
# Where downloads will be placed, relative to DEBRIDAV_ROOT_PATH
|
||||
DEBRIDAV_DOWNLOAD_PATH=/downloads
|
||||
|
||||
# Path where DebriDav's WebDAV will be mounted inside other containers (e.g. Sonarr/Radarr)
|
||||
# Where DebriDav's WebDAV server will be mounted inside the other containers ( Radarr, Sonarr etc).
|
||||
# The Media Root of the arrs must be set under this directory
|
||||
# Downloads will be visible to the other containers in /data/downloads with this configuration
|
||||
DEBRIDAV_MOUNT_PATH_CONTAINERS=/mnt/remote/debridav
|
||||
|
||||
# Host path where rclone mounts DebriDav WebDAV
|
||||
# Where DebriDavs WebDAV server will be mounted on the host FS
|
||||
DEBRIDAV_MOUNT_PATH_HOST_FS=/mnt/remote/debridav
|
||||
|
||||
# -------------- DebriDav Web Interface --------------
|
||||
|
||||
# Port on the host to expose DebriDav’s web interface (internal port is always 8080)
|
||||
DEBRIDAV_PORT=8889
|
||||
DEBRIDAV_PORT=8888
|
||||
|
||||
# -------------- Debrid Providers Configuration --------------
|
||||
|
||||
@@ -30,7 +33,7 @@ DEBRIDAV_DEBRID_CLIENTS=premiumize
|
||||
PREMIUMIZE_API_KEY=your_premiumize_api_key
|
||||
|
||||
# Leave these blank if not using for now
|
||||
REAL_DEBRID_API_KEY=
|
||||
REALDEBRID_API_KEY=
|
||||
EASYNEWS_USERNAME=
|
||||
EASYNEWS_PASSWORD=
|
||||
TORBOX_API_KEY=
|
||||
@@ -54,7 +57,7 @@ RADARR_API_KEY=your_radarr_api_key
|
||||
# -------------- Database Configuration --------------
|
||||
|
||||
# Postgres DB connection for DebriDav metadata
|
||||
DEBRIDAV_DB_HOST=postgres-debridav
|
||||
DEBRIDAV_DB_HOST=debridav_postgres
|
||||
DEBRIDAV_DB_PORT=5432
|
||||
DEBRIDAV_DB_DATABASE_NAME=debridav
|
||||
DEBRIDAV_DB_USERNAME=debridav
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
services:
|
||||
debridav:
|
||||
image: ghcr.io/skjaere/debridav:v0
|
||||
image: ghcr.io/skjaere/debridav:latest
|
||||
container_name: debridav
|
||||
restart: unless-stopped
|
||||
user: "${PUID}:${PGID}"
|
||||
@@ -13,7 +13,6 @@ services:
|
||||
- PGID=${PGID}
|
||||
- UMASK=002
|
||||
- TZ=${TZ}
|
||||
|
||||
- DEBRIDAV_ROOTPATH=${DEBRIDAV_ROOT_PATH}
|
||||
- DEBRIDAV_DOWNLOADPATH=${DEBRIDAV_DOWNLOAD_PATH}
|
||||
- DEBRIDAV_MOUNTPATH=${DEBRIDAV_MOUNT_PATH_CONTAINERS}
|
||||
@@ -49,12 +48,15 @@ services:
|
||||
start_period: 2s
|
||||
retries: 1000
|
||||
depends_on:
|
||||
postgres-debridav:
|
||||
debridav_postgres:
|
||||
condition: service_healthy
|
||||
profiles:
|
||||
- debridav
|
||||
- all
|
||||
|
||||
rclone:
|
||||
image: rclone/rclone:latest
|
||||
container_name: rclone-debridav
|
||||
container_name: rclone
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TZ=${TZ}
|
||||
@@ -62,7 +64,7 @@ services:
|
||||
- PGID=${PGID}
|
||||
volumes:
|
||||
- ${DEBRIDAV_MOUNT_PATH_HOST_FS}:${DEBRIDAV_MOUNT_PATH_CONTAINERS}:rshared
|
||||
- /opt/docker/data/debridav/rclone.conf:/config/rclone/rclone.conf
|
||||
- ./rclone.conf:/config/rclone/rclone.conf
|
||||
- /dev/fuse:/dev/fuse
|
||||
cap_add:
|
||||
- SYS_ADMIN
|
||||
@@ -83,10 +85,13 @@ services:
|
||||
--low-level-retries=1
|
||||
--dir-cache-time=1s
|
||||
-vv
|
||||
profiles:
|
||||
- debridav
|
||||
- all
|
||||
|
||||
postgres-debridav:
|
||||
debridav_postgres:
|
||||
image: postgres:latest
|
||||
container_name: postgres-debridav
|
||||
container_name: debridav_postgres
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=debridav
|
||||
@@ -100,3 +105,6 @@ services:
|
||||
test: [ "CMD-SHELL", "pg_isready -d debridav" ]
|
||||
interval: 5s
|
||||
retries: 10
|
||||
profiles:
|
||||
- debridav
|
||||
- all
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
[debridav]
|
||||
type = webdav
|
||||
url = http://debridav:8080/webdav/premiumize
|
||||
url = http://debridav:8080/
|
||||
vendor = other
|
||||
pacer_min_sleep = 0
|
||||
@@ -11,8 +11,12 @@ services:
|
||||
- PGID=${PGID}
|
||||
- UMASK=002
|
||||
volumes:
|
||||
- /mnt/:/mnt:rslave
|
||||
- ${DOCKER_DATA_DIR}/decypharr/:/app # config.json must be in this directory
|
||||
- /mnt:/mnt:rslave
|
||||
- ./config.json:/app/config.json
|
||||
- ${DOCKER_DATA_DIR}/decypharr/repair.json:/app/repair.json
|
||||
- ${DOCKER_DATA_DIR}/decypharr/torrents.json:/app/torrents.json
|
||||
- ${DOCKER_DATA_DIR}/decypharr/logs:/app/logs
|
||||
- ${DOCKER_DATA_DIR}/decypharr/cache:/app/cache
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.decypharr.rule=Host(`${DECYPHARR_HOSTNAME?}`)"
|
||||
@@ -42,7 +46,7 @@ services:
|
||||
RCLONE_VFS_CACHE_MAX_AGE: "72h"
|
||||
volumes:
|
||||
- /mnt/remote/realdebrid:/data:rshared
|
||||
- ${DOCKER_DATA_DIR}/decypharr/rclone.conf:/config/rclone/rclone.conf
|
||||
- ./rclone.conf:/config/rclone/rclone.conf
|
||||
- /mnt:/mnt
|
||||
- ${DOCKER_DATA_DIR}/decypharr/cache:/cache
|
||||
cap_add:
|
||||
|
||||
@@ -5,8 +5,8 @@ services:
|
||||
restart: unless-stopped
|
||||
user: $PUID:$PGID
|
||||
volumes:
|
||||
- ${DOCKER_DATA_DIR}/honey:/app/dist/config
|
||||
- ${DOCKER_DATA_DIR}/honey/img:/app/dist/img/custom
|
||||
- ./config.json:/app/dist/config/config.json
|
||||
- ${DOCKER_DATA_DIR}/honey:/app/dist/img/custom # place any images in this folder, and use custom/image_name.jpg in the config.json
|
||||
expose:
|
||||
- 4173
|
||||
labels:
|
||||
|
||||
@@ -8,7 +8,7 @@ services:
|
||||
- TZ=${TZ:-Etc/UTC}
|
||||
- KOMETA_RUN=True
|
||||
volumes:
|
||||
- ${DOCKER_DATA_DIR}/kometa:/config
|
||||
- ./config:/config
|
||||
profiles:
|
||||
- kometa
|
||||
- all
|
||||
@@ -24,7 +24,7 @@ services:
|
||||
- KOMETA_TIME=00:00,02:00,04:00,06:00,08:00,10:00,12:00,14:00,16:00,18:00,20:00,22:00
|
||||
- KOMETA_RUN=False
|
||||
volumes:
|
||||
- ${DOCKER_DATA_DIR}/kometa:/config
|
||||
- ./config:/config
|
||||
profiles:
|
||||
- kometa
|
||||
- all
|
||||
|
||||
@@ -41,9 +41,9 @@ services:
|
||||
volumes:
|
||||
- ${DOCKER_DATA_DIR}/plausible/clickhouse/db:/var/lib/clickhouse
|
||||
- ${DOCKER_DATA_DIR}/plausible/clickhouse/logs:/var/log/clickhouse-server
|
||||
- ${DOCKER_DATA_DIR}/plausible/clickhouse/logs.xml:/etc/clickhouse-server/config.d/logs.xml:ro
|
||||
- ${DOCKER_DATA_DIR}/plausible/clickhouse/ipv4-only.xml:/etc/clickhouse-server/config.d/ipv4-only.xml:ro
|
||||
- ${DOCKER_DATA_DIR}/plausible/clickhouse/low-resources.xml:/etc/clickhouse-server/config.d/low-resources.xml:ro
|
||||
- ./logs.xml:/etc/clickhouse-server/config.d/logs.xml:ro
|
||||
- ./ipv4-only.xml:/etc/clickhouse-server/config.d/ipv4-only.xml:ro
|
||||
- ./low-resources.xml:/etc/clickhouse-server/config.d/low-resources.xml:ro
|
||||
ulimits:
|
||||
nofile:
|
||||
soft: 262144
|
||||
|
||||
@@ -11,6 +11,7 @@ services:
|
||||
- 9696
|
||||
volumes:
|
||||
- ${DOCKER_DATA_DIR}/prowlarr:/config
|
||||
- ./definitions:/config/Definitions/Custom
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
|
||||
@@ -7,7 +7,14 @@ services:
|
||||
environment:
|
||||
- TZ=${TZ:-UTC}
|
||||
volumes:
|
||||
- ${DOCKER_DATA_DIR}/recyclarr:/config
|
||||
# - ${DOCKER_DATA_DIR}/recyclarr:/config
|
||||
- ${DOCKER_DATA_DIR}/recyclarr/cache:/config/cache
|
||||
- ${DOCKER_DATA_DIR}/recyclarr/logs:/config/logs
|
||||
- ${DOCKER_DATA_DIR}/recyclarr/repositories:/config/repositories
|
||||
- ${DOCKER_DATA_DIR}/recyclarr/configs:/config/configs
|
||||
- ${DOCKER_DATA_DIR}/recyclarr/includes:/config/includes
|
||||
- ./recyclarr.yml:/config/recyclarr.yml
|
||||
- ./secrets.yml:/config/secrets.yml
|
||||
depends_on:
|
||||
- sonarr
|
||||
- sonarr4k
|
||||
|
||||
+1
-1
@@ -131,7 +131,7 @@ STREMTHRU_INTEGRATION_TRAKT_CLIENT_SECRET=
|
||||
# DATABASE CONFIGURATION
|
||||
# ================================
|
||||
STREMTHRU_DATABASE_URI=sqlite://./data/stremthru.db
|
||||
STREMTHRU_REDIS_URI=redis://stremthru_redis:6379
|
||||
# STREMTHRU_REDIS_URI=redis://stremthru_redis:6379
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ services:
|
||||
network_mode: service:warp
|
||||
user: $PUID:$PGID
|
||||
volumes:
|
||||
- ${DOCKER_DATA_DIR}/tweakio/config.yaml:/app/config.yaml
|
||||
- ./config.yaml:/app/config.yaml
|
||||
profiles:
|
||||
- all
|
||||
- debrid_media_server
|
||||
|
||||
@@ -6,7 +6,7 @@ services:
|
||||
healthcheck:
|
||||
test: curl -f localhost:9999/dav/version.txt || exit 1
|
||||
volumes:
|
||||
- ${DOCKER_DATA_DIR}/zurg/config-${ZURG_CONFIG_VERSION:-v0.9}.yml:/app/config.yml
|
||||
- ./config-${ZURG_CONFIG_VERSION:-v0.9}.yml:/app/config.yml
|
||||
- ${DOCKER_DATA_DIR}/zurg/data:/app/data
|
||||
- ${DOCKER_DATA_DIR}/zurg/logs:/app/logs
|
||||
labels:
|
||||
@@ -30,7 +30,7 @@ services:
|
||||
PGID: ${PGID}
|
||||
volumes:
|
||||
- /mnt/remote/realdebrid:/data:rshared
|
||||
- ${DOCKER_DATA_DIR}/zurg/rclone.conf:/config/rclone/rclone.conf
|
||||
- ./rclone.conf:/config/rclone/rclone.conf
|
||||
- /mnt:/mnt
|
||||
cap_add:
|
||||
- SYS_ADMIN
|
||||
|
||||
+3
-2
@@ -8,11 +8,11 @@ include:
|
||||
- apps/autosync/compose.yaml
|
||||
- apps/bazarr/compose.yaml
|
||||
- apps/beszel/compose.yaml
|
||||
- apps/borgmatic/compose.yaml
|
||||
- apps/byparr/compose.yaml
|
||||
- apps/cloudflare-ddns/compose.yaml
|
||||
- apps/comet/compose.yaml
|
||||
- apps/dash/compose.yaml
|
||||
- apps/debridav/compose.yaml
|
||||
- apps/decypharr/compose.yaml
|
||||
- apps/dockge/compose.yaml
|
||||
- apps/dozzle/compose.yaml
|
||||
@@ -72,7 +72,8 @@ include:
|
||||
# To use both, update Zurg's rclone service name and its container name to rclone_zurg
|
||||
# You will also need to change Zurg's rclone's `- apps//mnt/remote/realdebrid:/data:rshared` to `- apps//mnt/remote/zurg:/data:rshared`
|
||||
# - apps/zurg/compose.yaml
|
||||
|
||||
# same as above for using debridav, Uncomment debridav and comment out decypharr and zurg
|
||||
# - apps/debridav/compose.yaml
|
||||
networks:
|
||||
default:
|
||||
name: ${DOCKER_NETWORK:-aio_default}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
source_directories:
|
||||
- /mnt/source # 🔍 Source directory inside container (binds to /opt/docker on host)
|
||||
|
||||
repositories:
|
||||
- path: ${BORG_REPO_URL} # 📦 Remote repo path from .env
|
||||
label: borgbase # 🏷️ Friendly name
|
||||
storage_quota: 10G # ℹ️ Display-only, helps track usage
|
||||
|
||||
one_file_system: true # 🚫 Don't cross into other mounts (e.g., /proc)
|
||||
|
||||
exclude_patterns:
|
||||
- /mnt/source/data/stremthru/imdb # ❌ Temp cache
|
||||
- /mnt/source/data/stremthru/hashlists # ❌ Torrent hashes
|
||||
- /mnt/source/data/stremio-server # ❌ Optional exclusion
|
||||
|
||||
compression: lz4 # ⚡ Fast + efficient compression
|
||||
archive_name_format: 'backup-{now:%Y-%m-%d_%H-%M-%S}' # 🧾 Timestamped archive name
|
||||
|
||||
keep_weekly: 2 # ✅ Keep 2 most recent weekly archives
|
||||
@@ -1,98 +0,0 @@
|
||||
id: zilean
|
||||
name: Zilean
|
||||
description: "A custom indexer for Zilean the unofficial DMM indexer using it's Torznab Endpoint"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
followredirect: false
|
||||
testlinktorrent: false
|
||||
requestDelay: 2
|
||||
links:
|
||||
# Torznab Endpoint is used for better performance
|
||||
- http://zilean:8181
|
||||
- https://zilean.elfhosted.com
|
||||
|
||||
caps:
|
||||
categories:
|
||||
Movies: Movies
|
||||
TV: TV
|
||||
modes:
|
||||
search: [q]
|
||||
movie-search: [q, imdbid]
|
||||
tv-search: [q, season, ep]
|
||||
allowrawsearch: false
|
||||
|
||||
settings: []
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /dmm/filtered
|
||||
method: get
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
$raw: "{{ if .Query.IMDBID }}ImdbId={{ .Query.IMDBID }}{{ else }}Query={{ .Keywords }}{{ end }}"
|
||||
Season: "{{ if .Query.Season }}{{ .Query.Season }}{{ else }}{{ end }}"
|
||||
Episode: "{{ if .Query.Ep }}{{ .Query.Ep }}{{ else }}{{ end }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\bS\\d+(?:E\\d+)?\\b", ""] # Remove season and episode info
|
||||
- name: re_replace
|
||||
args: ["\\b(19|20)\\d{2}\\b", ""] # Remove year info
|
||||
- name: re_replace
|
||||
args: ["[\\[\\]()]", ""] # Remove brackets
|
||||
- name: re_replace
|
||||
args: ["^$", "limitless"]
|
||||
|
||||
rows:
|
||||
selector: $
|
||||
missingAttributeEqualsNoResults: true
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: raw_title
|
||||
year:
|
||||
selector: year
|
||||
category:
|
||||
selector: category
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["tvSeries", "TV"]
|
||||
- name: replace
|
||||
args: ["movie", "Movies"]
|
||||
infohash:
|
||||
selector: info_hash
|
||||
size:
|
||||
selector: size
|
||||
quality:
|
||||
selector: resolution
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["4k", "2160p"]
|
||||
codec:
|
||||
selector: codec
|
||||
episode:
|
||||
selector: episodes
|
||||
season:
|
||||
selector: seasons
|
||||
language:
|
||||
selector: languages
|
||||
seeders:
|
||||
text: "30"
|
||||
leechers:
|
||||
text: "10"
|
||||
date:
|
||||
text: "Apr. 18th '11"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["st|nd|rd|th", ""]
|
||||
- name: replace
|
||||
args: ["'", ""]
|
||||
- name: dateparse
|
||||
args: "MMM. d yy"
|
||||
downloadvolumefactor:
|
||||
text: "1"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
||||
Reference in New Issue
Block a user