Author SHA1 Message Date
tobbbs edb38f21c6 Update compose.yaml 2026-07-17 14:22:23 +02:00
tobbbs dcbfa78cdd Update compose.yaml 2026-07-08 14:05:45 +02:00
tobbbs 8312372039 Update compose.yaml 2026-07-08 13:38:35 +02:00
tobbbs 0ff7081889 Add compose.yaml 2026-05-26 16:34:12 +02:00
2 changed files with 117 additions and 63 deletions
+1 -5
View File
@@ -1,7 +1,3 @@
# Bragi-Local # Bragi-Local
My Compose Stacks for all my Docker Services running on my Local Server My Compose Stacks for all my Docker Services running on my Local Server
06_maintanance:
- Lubelogger
- Postgresql for Lubelogger
+116 -58
View File
@@ -1,71 +1,129 @@
version: '3.8'
services: services:
SnapOtter: deemix:
image: snapotter/snapotter:latest # or ghcr.io/snapotter-hq/snapotter:latest image: ghcr.io/bambanah/deemix:latest
container_name: snapotter container_name: Deemix
# ports:
# - "1349:1349"
networks:
- bragi-local
volumes: volumes:
- /opt/10_images/snapotter:/data - /mnt/hdd/Media/Music:/downloads
- /opt/02_media_downloader/deemix:/config
environment: environment:
- AUTH_ENABLED=true - DEEMIX_SINGLE_USER=true
- DEFAULT_USERNAME=admin # ports:
- DEFAULT_PASSWORD=admin # - '6595:6595'
- DATABASE_URL=postgres://snapotter:snapotter@postgres:5432/snapotter networks:
- REDIS_URL=redis://redis:6379 - bragi-local
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
restart: unless-stopped restart: unless-stopped
deploy:
resources: seerr:
reservations: image: ghcr.io/seerr-team/seerr:latest
devices: init: true
- driver: nvidia container_name: Seerr
count: 1 volumes:
capabilities: [gpu] - /opt/download/seerr/config:/app/config
ports:
- '5055:5055'
restart: unless-stopped
networks:
- bragi-local
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/settings/public || exit 1
start_period: 20s
timeout: 3s
interval: 15s
retries: 3
# qbittorrent:
# image: lscr.io/linuxserver/qbittorrent:latest
# container_name: qbittorrent
# volumes:
# - /opt/download/qbittorrent/config:/config
# - /mnt/big/Media/Film:/downloads
# environment:
# - WEBUI_PORT=8088
# network_mode: service:gluetun
# restart: unless-stopped
postgres: slskd:
image: postgres:17-alpine image: slskd/slskd
container_name: snapotter_postgres container_name: slskd
user: "1000:1000"
environment: environment:
POSTGRES_USER: snapotter - SLSKD_REMOTE_CONFIGURATION=true
POSTGRES_PASSWORD: snapotter
POSTGRES_DB: snapotter
networks:
- bragi-local
volumes: volumes:
- /opt/10_images/postgresql:/var/lib/postgresql/data - /opt/02_media_downloader/slskd/:/app
restart: unless-stopped - /mnt/hdd/Media/incomplete:/downloads/incomplete
healthcheck: - /mnt/hdd/Media/Music:/downloads/complete
test: ["CMD-SHELL", "pg_isready -U snapotter"] network_mode: service:gluetun
interval: 10s restart: always
timeout: 5s
retries: 12 sabnzbd:
image: lscr.io/linuxserver/sabnzbd:latest
redis: container_name: sabnzbd
container_name: snapotter_redis
networks:
- bragi-local
image: redis:8-alpine
command: ["redis-server", "--maxmemory-policy", "noeviction", "--appendonly", "yes"]
volumes: volumes:
- /opt/10_images/redis:/data - /opt/download/sabnzbd/config:/config
- /mnt/big/Media/incomplete:/incomplete-downloads
- /mnt/big/Media/Film:/downloads
network_mode: service:gluetun
restart: unless-stopped
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: Prowlarr
volumes:
- /opt/download/prowlarr/config:/config
network_mode: service:gluetun
restart: unless-stopped
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: Radarr
volumes:
- /opt/download/radarr/config:/config
- /mnt/big/Media/Film/movies:/downloads
- /mnt/big/Media/Films:/movies
network_mode: service:gluetun
restart: unless-stopped restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 12
volumes: sonarr:
SnapOtter-data: image: lscr.io/linuxserver/sonarr:latest
SnapOtter-pgdata: container_name: sonarr
SnapOtter-redisdata: volumes:
- /opt/download/sonarr/data:/config
- /mnt/big/Media/Film/Series:/downloads
- /mnt/big/Media/Series:/tv
network_mode: service:gluetun
restart: unless-stopped
gluetun:
image: qmcgaw/gluetun
container_name: gluetun
cap_add:
- NET_ADMIN
- NET_RAW
sysctls:
- net.ipv6.conf.all.disable_ipv6=0
devices:
- /dev/net/tun:/dev/net/tun
volumes:
- /opt/download/gluetun:/gluetun
environment:
- VPN_SERVICE_PROVIDER=protonvpn
- VPN_TYPE=openvpn
- OPENVPN_USER=${USER}
- OPENVPN_PASSWORD=${Password}
# - SERVER_COUNTRIES=Bulgaria
- UPDATER_PERIOD=24h
ports:
- '6881:6881' # Torrent port forwarding (Crucial for Gluetun)
- '7878:7878' # Radarr
- '8087:8080' # Sabnzbd (Internal 8080 -> External 8088)
- '8989:8989' # Sonarr
- '9696:9696' # Prowlarr
- "5030:5030" # slskd HTTP
- "5031:5031" # slskd HTTPS
- "50300:50300" # slskd Incoming Connections
restart: unless-stopped
networks: networks:
bragi-local: bragi-local:
external: true external: true