Files

315 lines
7.8 KiB
YAML

services:
### START DOWNLOAD
vpn:
container_name: vpn
profiles:
- download
image: qmcgaw/gluetun:v3.40
cap_add:
- NET_ADMIN # Quin does not like these
devices:
- /dev/net/tun:/dev/net/tun
volumes:
- ${PATH_ETC}/gluetun:/gluetun
environment:
- VPN_SERVICE_PROVIDER=private internet access
- SERVER_REGIONS=Netherlands
- OPENVPN_USER=${PIA_USERNAME}
- OPENVPN_PASSWORD=${PIA_PASSWORD}
- UPDATER_PERIOD=24h
ports:
- 9091:9091 # Transmission
- 51413:51413 # Transmission
- 51413:51413/udp # Transmission
- 9696:9696 # Prowlarr
- 7878:7878 # Radarr
- 8989:8989 # Sonarr
- 8686:8686 # Lidarr
- 3333:3333 # bitmagnet API and WebUI port
- 3334:3334/tcp # bitmagnet BitTorrent ports
- 3334:3334/udp # bitmagnet BitTorrent ports
# - 5055:5055 # seerr
# - 8112:8112 # Deluge
# - 6881:6881 # Deluge
# - 6881:6881/udp # Deluge
# - 58846:58846 # idk Deluge
- 7474:7474 # Autobrr
restart: unless-stopped
transmission:
container_name: transmission
profiles:
- download
image: lscr.io/linuxserver/transmission:latest
network_mode: "service:vpn"
environment:
- TZ=${TZ}
- PUID=1000
- PGID=1000
volumes:
- ${PATH_ETC}/transmission:/config
- /storage/transmission/downloads:/downloads
restart: unless-stopped
prowlarr:
container_name: prowlarr
profiles:
- download
image: lscr.io/linuxserver/prowlarr:latest
network_mode: "service:vpn"
environment:
- TZ=${TZ}
- PUID=1000
- PGID=1000
volumes:
- ${PATH_ETC}/prowlarr:/config
depends_on:
vpn:
condition: service_started
restart: true
required: true
restart: unless-stopped
radarr:
container_name: radarr
profiles:
- download
image: lscr.io/linuxserver/radarr:latest
network_mode: "service:vpn"
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
volumes:
- ${PATH_ETC}/radarr:/config
- /storage/media:/media # Access to media library
- /storage/transmission/downloads:/downloads # Access to transmission downloads
depends_on:
vpn:
condition: service_started
restart: true
required: true
prowlarr:
condition: service_started
restart: true
required: true
restart: unless-stopped
sonarr:
container_name: sonarr
profiles:
- download
image: lscr.io/linuxserver/sonarr:latest
network_mode: "service:vpn"
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
volumes:
- ${PATH_ETC}/sonarr:/config
- /storage/media:/media # Access to media library
- /storage/transmission/downloads:/downloads # Access to transmission downloads
depends_on:
vpn:
condition: service_started
restart: true
required: true
prowlarr:
condition: service_started
restart: true
required: true
restart: unless-stopped
lidarr:
container_name: lidarr
profiles:
- download
image: lscr.io/linuxserver/lidarr:latest
network_mode: "service:vpn"
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
volumes:
- ${PATH_ETC}/lidarr:/config
- /storage/media:/media # Access to media library
- /storage/transmission/downloads:/downloads # Access to transmission downloads
depends_on:
vpn:
condition: service_started
restart: true
required: true
prowlarr:
condition: service_started
restart: true
required: true
restart: unless-stopped
bitmagnet:
container_name: bitmagnet
profiles:
- download
image: ghcr.io/bitmagnet-io/bitmagnet:latest
restart: unless-stopped
network_mode: "service:vpn"
environment:
- POSTGRES_PASSWORD=${BITMAGENT_DB_PASS}
- TMDB_API_KEY=${TMDB_API_KEY}
volumes:
- ${PATH_ETC}/bitmagnet:/root/.config/bitmagnet
command:
- worker
- run
- --keys=http_server
- --keys=queue_server
# disable the next line to run without DHT crawler
- --keys=dht_crawler
depends_on:
postgres:
condition: service_healthy
postgres:
container_name: bitmagnet-postgres
profiles:
- download
image: postgres:16-alpine
network_mode: "service:vpn"
volumes:
- ${PATH_ETC}/bitmagnet-postgres:/var/lib/postgresql/data
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=${BITMAGENT_DB_PASS}
- POSTGRES_DB=bitmagnet
- PGUSER=postgres
shm_size: 1g
healthcheck:
test:
- CMD-SHELL
- pg_isready
start_period: 20s
interval: 10s
seerr:
container_name: seerr
profiles:
- download
image: ghcr.io/seerr-team/seerr:latest
init: true
ports:
- 5055:5055
environment:
- TZ=${TZ}
- LOG_LEVEL=debug
volumes:
- ${PATH_ETC}/seer:/app/config
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/status || exit 1
start_period: 20s
timeout: 3s
interval: 15s
retries: 3
restart: unless-stopped
lidatube:
container_name: lidatube
profiles:
- download
image: thewicklowwolf/lidatube:latest
volumes:
- ${PATH_ETC}/lidatube:/lidatube/config
- /storage/lidatube:/lidatube/downloads
- /etc/localtime:/etc/localtime:ro
environment:
- attempt_lidarr_import=True
ports:
- 5000:5000
restart: unless-stopped
aurral:
container_name: aurral
profiles:
- download
image: ghcr.io/lklynet/aurral:latest
ports:
- 3001:3001
environment:
- DOWNLOAD_FOLDER=${DL_FOLDER:-./data/downloads}
volumes:
- ${PATH_ETC}/aurral:/app/backend/data
- /storage/aurral:/app/downloads
restart: unless-stopped
### END DOWNLOAD
### START APP
navidrome:
profiles:
- app
container_name: navidrome
image: deluan/navidrome:latest
user: 1000:1000
ports:
- "4533:4533"
volumes:
- ${PATH_ETC}/navidrome:/data
- /storage/media/Music:/music
restart: unless-stopped
metube:
profiles:
- app
image: ghcr.io/alexta69/metube
container_name: metube
ports:
- "8081:8081"
volumes:
- ./bin/metube-options.json:/config/metube-options.json # Use config from repo :)
- /storage/metube/downloads:/downloads
environment:
- YTDL_OPTIONS_FILE=/config/metube-options.json
restart: unless-stopped
gitea:
profiles:
- app
container_name: gitea
image: docker.gitea.com/gitea:1.26.1
ports:
- 3000:3000
- 222:22
volumes:
- ${PATH_ETC}/gitea-data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__NAME=gitea
- GITEA__database__USER=${GITEA_DB_USERNAME}
- GITEA__database__PASSWD=${GITEA_DB_PASSWORD}
- GITEA__database__HOST=giteadb:5432
restart: unless-stopped
depends_on:
- giteadb
giteadb:
profiles:
- app
container_name: gitea-postgres
image: docker.io/library/postgres:14
environment:
- POSTGRES_USER=${GITEA_DB_USERNAME}
- POSTGRES_PASSWORD=${GITEA_DB_PASSWORD}
- POSTGRES_DB=gitea
volumes:
- ${PATH_ETC}/gitea-postgres:/var/lib/postgresql/data
healthcheck:
test:
- CMD-SHELL
- pg_isready
start_period: 20s
interval: 10s
restart: unless-stopped
### END APP