mirror of
https://github.com/Viren070/docker-compose-template.git
synced 2025-12-01 23:17:00 +01:00
feat: added borgmatic and minor fixes for debridav and aiostreams (#33)
This commit is contained in:
@@ -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 ------------
|
||||
|
||||
@@ -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
|
||||
+12
-9
@@ -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=
|
||||
|
||||
@@ -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}"
|
||||
|
||||
@@ -8,6 +8,7 @@ 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
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user