397 lines
13 KiB
YAML
Executable File
397 lines
13 KiB
YAML
Executable File
# TODO: Fix path mappings in containers since it's currently /data/data and /media/media
|
|
## Function: VPN Client
|
|
## Documentation: https://github.com/qdm12/gluetun-wiki
|
|
services:
|
|
gluetun:
|
|
image: qmcgaw/gluetun:latest
|
|
container_name: gluetun
|
|
restart: always
|
|
cap_add:
|
|
- NET_ADMIN
|
|
devices:
|
|
- /dev/net/tun:/dev/net/tun
|
|
ports:
|
|
- "8888:8888/tcp" # Gluetun Local Network HTTP proxy
|
|
- "8388:8388/tcp" # Gluetun Local Network Shadowsocks
|
|
- "8388:8388/udp" # Gluetun Local Network Shadowsocks
|
|
- "${WEBUI_PORT_QBITTORRENT:?err}:${WEBUI_PORT_QBITTORRENT:?err}" # WebUI Portal: qBittorrent
|
|
- "5015:8081" # Metube UI
|
|
- "${QBIT_PORT:?err}:6881" # Transmission Torrent Port
|
|
|
|
volumes:
|
|
- ${FOLDER_FOR_DATA:?err}/gluetun:/gluetun
|
|
environment:
|
|
- PUID=${PUID:?err}
|
|
- PGID=${PGID:?err}
|
|
- UMASK=${UMASK:?err}
|
|
- TZ=${TIMEZONE:?err}
|
|
- VPN_SERVICE_PROVIDER=${VPN_SERVICE_PROVIDER:?err}
|
|
- OPENVPN_USER=${VPN_USERNAME:?err}
|
|
- OPENVPN_PASSWORD=${VPN_PASSWORD:?err}
|
|
- SERVER_COUNTRIES=${SERVER_COUNTRIES}
|
|
- SERVER_REGIONS=${SERVER_REGIONS}
|
|
- SERVER_CITIES=${SERVER_CITIES}
|
|
- SERVER_HOSTNAMES=${SERVER_HOSTNAMES}
|
|
- SERVER_CATEGORIES=${SERVER_CATEGORIES}
|
|
- FIREWALL_OUTBOUND_SUBNETS=${LOCAL_SUBNET:?err}
|
|
- OPENVPN_CUSTOM_CONFIG=${OPENVPN_CUSTOM_CONFIG}
|
|
- HTTP_CONTROL_SERVER_ADDRESS=:${GLUETUN_CONTROL_PORT:?err}
|
|
- VPN_TYPE=${VPN_TYPE}
|
|
- VPN_ENDPOINT_IP=${VPN_ENDPOINT_IP}
|
|
- VPN_ENDPOINT_PORT=${VPN_ENDPOINT_PORT}
|
|
- WIREGUARD_PUBLIC_KEY=${WIREGUARD_PUBLIC_KEY}
|
|
- WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
|
|
- WIREGUARD_PRESHARED_KEY=${WIREGUARD_PRESHARED_KEY}
|
|
- WIREGUARD_ADDRESSES=${WIREGUARD_ADDRESSES}
|
|
- HTTPPROXY=on
|
|
- SHADOWSOCKS=on
|
|
|
|
## Function: Cloudflare Proxy Server
|
|
## Documentation: https://github.com/FlareSolverr/FlareSolverr
|
|
##########################################################################
|
|
flaresolverr:
|
|
image: ghcr.io/flaresolverr/flaresolverr:latest
|
|
container_name: flaresolverr
|
|
restart: unless-stopped
|
|
ports:
|
|
- "${FLARESOLVERR_PORT:?err}:8191"
|
|
environment:
|
|
- LOG_LEVEL=info
|
|
- LOG_HTML=false
|
|
- CAPTCHA_SOLVER=none
|
|
- TZ=${TIMEZONE:?err}
|
|
|
|
## Function: Indexer and Search Manager
|
|
## Documentation: https://docs.linuxserver.io/images/docker-prowlarr
|
|
prowlarr:
|
|
image: lscr.io/linuxserver/prowlarr:develop
|
|
container_name: prowlarr
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /home/docker/prowlarr:/config
|
|
ports:
|
|
- "${WEBUI_PORT_PROWLARR:?err}:9696"
|
|
environment:
|
|
- PUID=${PUID:?err}
|
|
- PGID=${PGID:?err}
|
|
- TZ=${TIMEZONE:?err}
|
|
- DOCKER_MODS=ghcr.io/themepark-dev/theme.park:prowlarr
|
|
- TP_THEME=${TP_THEME:?err}
|
|
|
|
## Function: Torrent Download Client
|
|
## Documentation: https://docs.linuxserver.io/images/docker-qbittorrent
|
|
qbittorrent:
|
|
image: lscr.io/linuxserver/qbittorrent:latest
|
|
container_name: qbittorrent
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /home/docker/qbittorrent:/config
|
|
- /home/docker/media/torrents:/data/torrents
|
|
environment:
|
|
- PUID=${PUID:?err}
|
|
- PGID=${PGID:?err}
|
|
- UMASK=${UMASK:?err}
|
|
- TZ=${TIMEZONE:?err}
|
|
- WEBUI_PORT=${WEBUI_PORT_QBITTORRENT:?err}
|
|
- DOCKER_MODS=ghcr.io/themepark-dev/theme.park:qbittorrent
|
|
- TP_THEME=${TP_THEME:?err}
|
|
network_mode: "service:gluetun"
|
|
|
|
## Function: Series Library Manager (TV Shows)
|
|
## Documentation: https://docs.linuxserver.io/images/docker-sonarr
|
|
sonarr:
|
|
image: lscr.io/linuxserver/sonarr:latest
|
|
container_name: sonarr
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /home/docker/sonarr:/config
|
|
- /home/docker/media:/data
|
|
ports:
|
|
- "${WEBUI_PORT_SONARR:?err}:8989"
|
|
environment:
|
|
- PUID=${PUID:?err}
|
|
- PGID=${PGID:?err}
|
|
- TZ=${TIMEZONE:?err}
|
|
- DOCKER_MODS=ghcr.io/themepark-dev/theme.park:sonarr
|
|
- TP_THEME=${TP_THEME:?err}
|
|
|
|
## Function: Movie Library Manager
|
|
## Documentation: https://docs.linuxserver.io/images/docker-radarr
|
|
radarr:
|
|
image: lscr.io/linuxserver/radarr:latest
|
|
container_name: radarr
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /home/docker/radarr:/config
|
|
- /home/docker/media:/data
|
|
ports:
|
|
- "${WEBUI_PORT_RADARR:?err}:7878"
|
|
environment:
|
|
- PUID=${PUID:?err}
|
|
- PGID=${PGID:?err}
|
|
- TZ=${TIMEZONE:?err}
|
|
- DOCKER_MODS=ghcr.io/themepark-dev/theme.park:radarr
|
|
- TP_THEME=${TP_THEME:?err}
|
|
|
|
## Function: Usenet Download Client
|
|
## Documentation: https://docs.linuxserver.io/images/docker-sabnzbd
|
|
sabnzbd:
|
|
image: lscr.io/linuxserver/sabnzbd:latest
|
|
container_name: sabnzbd
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /home/docker/sabnzbd:/config
|
|
- /home/docker/media/usenet:/data/usenet
|
|
ports:
|
|
- "${WEBUI_PORT_SABNZBD:?err}:8080"
|
|
environment:
|
|
- PUID=${PUID:?err}
|
|
- PGID=${PGID:?err}
|
|
- TZ=${TIMEZONE:?err}
|
|
- DOCKER_MODS=ghcr.io/themepark-dev/theme.park:sabnzbd
|
|
- TP_THEME=${TP_THEME:?err}
|
|
|
|
## Function: Book Library Manager
|
|
## Documentation: https://docs.linuxserver.io/images/docker-readarr
|
|
readarr:
|
|
image: lscr.io/linuxserver/readarr:develop
|
|
container_name: readarr
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /home/docker/readarr:/config
|
|
- /home/docker/media:/data
|
|
ports:
|
|
- "${WEBUI_PORT_READARR:?err}:8787"
|
|
environment:
|
|
- PUID=${PUID:?err}
|
|
- PGID=${PGID:?err}
|
|
- TZ=${TIMEZONE:?err}
|
|
- DOCKER_MODS=ghcr.io/themepark-dev/theme.park:readarr
|
|
- TP_THEME=${TP_THEME:?err}
|
|
|
|
## Function: UI for yt-dlp
|
|
## https://github.com/alexta69/metube
|
|
metube:
|
|
image: ghcr.io/alexta69/metube
|
|
container_name: metube
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /home/docker/xrandr:/downloads
|
|
network_mode: "service:gluetun"
|
|
|
|
|
|
|
|
|
|
## Function: Lookup and Rename Media from Internet Databases
|
|
## Docker Page: https://github.com/filebot/filebot-docker#filebot-xpra
|
|
## Homepage: https://www.filebot.net/
|
|
## User Forum: https://www.filebot.net/forums
|
|
# filebot:
|
|
# image: rednoah/filebot:xpra
|
|
# container_name: filebot
|
|
# restart: unless-stopped
|
|
# ports:
|
|
# - "${WEBUI_PORT_FILEBOT:?err}:5454"
|
|
# volumes:
|
|
# - ${FOLDER_FOR_DATA:?err}/filebot:/data/filebot
|
|
# - ${FOLDER_FOR_MEDIA:?err}/filebot:/filebot
|
|
# environment:
|
|
# # - XPRA_AUTH=password:value=YOUR_PASSWORD
|
|
# - PUID=${PUID:?err}
|
|
# - PGID=${PGID:?err}
|
|
# - UMASK=${UMASK:?err}
|
|
# - TZ=${TIMEZONE:?err}
|
|
# - DARK_MODE=1
|
|
|
|
## Function: Media Request Manager
|
|
## Documentation: https://hub.docker.com/r/fallenbagel/jellyseerr
|
|
# jellyseerr:
|
|
# image: fallenbagel/jellyseerr:latest
|
|
# container_name: jellyseerr
|
|
# restart: unless-stopped
|
|
# volumes:
|
|
# - ${FOLDER_FOR_DATA:?err}/jellyseerr:/app/config
|
|
# ports:
|
|
# - "${WEBUI_PORT_JELLYSEERR:?err}:5055"
|
|
# environment:
|
|
# - PUID=${PUID:?err}
|
|
# - PGID=${PGID:?err}
|
|
# - UMASK=${UMASK:?err}
|
|
# - TZ=${TIMEZONE:?err}
|
|
|
|
## Function: Music Library Manager
|
|
## Documentation: https://docs.linuxserver.io/images/docker-lidarr
|
|
# lidarr:
|
|
# image: lscr.io/linuxserver/lidarr:latest
|
|
# container_name: lidarr
|
|
# restart: unless-stopped
|
|
# volumes:
|
|
# - ${FOLDER_FOR_DATA:?err}/lidarr:/config
|
|
# - ${FOLDER_FOR_MEDIA:?err}:/data
|
|
# ports:
|
|
# - "${WEBUI_PORT_LIDARR:?err}:8686"
|
|
# environment:
|
|
# - PUID=${PUID:?err}
|
|
# - PGID=${PGID:?err}
|
|
# - TZ=${TIMEZONE:?err}
|
|
# - DOCKER_MODS=ghcr.io/themepark-dev/theme.park:lidarr
|
|
# - TP_THEME=${TP_THEME:?err}
|
|
|
|
## Function: Comic Library Manager
|
|
## Documentation: https://github.com/mylar3/mylar3/wiki
|
|
# mylar:
|
|
# image: lscr.io/linuxserver/mylar3:latest
|
|
# container_name: mylar
|
|
# restart: unless-stopped
|
|
# volumes:
|
|
# - ${FOLDER_FOR_DATA:?err}/mylar:/config
|
|
# - ${FOLDER_FOR_MEDIA:?err}:/data
|
|
# ports:
|
|
# - "${WEBUI_PORT_MYLAR:?err}:8090"
|
|
# environment:
|
|
# - PUID=${PUID:?err}
|
|
# - PGID=${PGID:?err}
|
|
# - TZ=${TIMEZONE:?err}
|
|
# - DOCKER_MODS=ghcr.io/themepark-dev/theme.park:mylar3
|
|
# - TP_THEME=${TP_THEME:?err}
|
|
|
|
|
|
|
|
|
|
## Function: Tdarr V2 - Audio/Video library transcoding automation (Contains Tdarr_Server and WebUI )
|
|
## Documentation: https://docs.tdarr.io/docs/installation/docker/run-compose/
|
|
## https://docs.tdarr.io/docs/installation/docker/hardware-transcoding
|
|
# tdarr:
|
|
# image: ghcr.io/haveagitgat/tdarr:latest
|
|
# container_name: tdarr
|
|
# restart: unless-stopped
|
|
# volumes:
|
|
# - ${FOLDER_FOR_DATA:?err}/tdarr/server:/app/server
|
|
# - ${FOLDER_FOR_DATA:?err}/tdarr/configs:/app/configs
|
|
# - ${FOLDER_FOR_DATA:?err}/tdarr/logs:/app/logs
|
|
# - ${FOLDER_FOR_DATA:?err}/tdarr_transcode_cache:/temp
|
|
# - ${FOLDER_FOR_MEDIA:?err}/media:/data
|
|
# ports:
|
|
# - "${TDARR_SERVER_PORT:?err}:${TDARR_SERVER_PORT:?err}"
|
|
# - "${WEBUI_PORT_TDARR:?err}:${WEBUI_PORT_TDARR:?err}"
|
|
# environment:
|
|
# - PUID=${PUID:?err}
|
|
# - PGID=${PGID:?err}
|
|
# - UMASK=${UMASK:?err}
|
|
# - TZ=${TIMEZONE:?err}
|
|
# - serverIP=0.0.0.0
|
|
# - serverPort=${TDARR_SERVER_PORT:?err}
|
|
# - webUIPort=${WEBUI_PORT_TDARR:?err}
|
|
# - internalNode=true
|
|
# - nodeID=Tdarr_Server
|
|
|
|
# tdarr-node:
|
|
# image: ghcr.io/haveagitgat/tdarr_node:latest
|
|
# container_name: tdarr-node
|
|
# restart: unless-stopped
|
|
# volumes:
|
|
# - ${FOLDER_FOR_DATA:?err}/tdarr/configs:/app/configs
|
|
# - ${FOLDER_FOR_DATA:?err}/tdarr/logs:/app/logs
|
|
# - ${FOLDER_FOR_DATA:?err}/tdarr_transcode_cache:/temp
|
|
# - ${FOLDER_FOR_MEDIA:?err}/media:/data
|
|
# environment:
|
|
# - PUID=${PUID:?err}
|
|
# - PGID=${PGID:?err}
|
|
# - UMASK=${UMASK:?err}
|
|
# - TZ=${TIMEZONE:?err}
|
|
# - nodeID=Tdarr_Node_1
|
|
# - serverIP=0.0.0.0
|
|
# - serverPort=${TDARR_SERVER_PORT:?err}
|
|
|
|
# ## Function: Archive Media Extraction
|
|
# ## Documentation: https://github.com/davidnewhall/unpackerr
|
|
# ## https://github.com/davidnewhall/unpackerr/blob/master/examples/docker-compose.yml
|
|
# unpackerr:
|
|
# image: ghcr.io/hotio/unpackerr:latest
|
|
# container_name: unpackerr
|
|
# restart: unless-stopped
|
|
# volumes:
|
|
# - ${FOLDER_FOR_DATA:?err}/unpackerr:/config
|
|
# - ${FOLDER_FOR_MEDIA:?err}:/data
|
|
# environment:
|
|
# - PUID=${PUID:?err}
|
|
# - PGID=${PGID:?err}
|
|
# - UMASK=${UMASK:?err}
|
|
# - TZ=${TIMEZONE:?err}
|
|
# # Documentation on all Environment Variables can be found at:
|
|
# # https://github.com/davidnewhall/unpackerr#docker-env-variables
|
|
# - UN_DEBUG=false
|
|
# - UN_LOG_FILE=
|
|
# - UN_LOG_FILES=10
|
|
# - UN_LOG_FILE_MB=10
|
|
# - UN_INTERVAL=2m
|
|
# - UN_START_DELAY=1m
|
|
# - UN_RETRY_DELAY=5m
|
|
# - UN_MAX_RETRIES=3
|
|
# - UN_PARALLEL=1
|
|
# - UN_FILE_MODE=0664
|
|
# - UN_DIR_MODE=0775
|
|
# # Sonarr Config - Copy API Key from: http://sonarr:8989/general/settings
|
|
# - UN_SONARR_0_URL=http://sonarr:8989
|
|
# - UN_SONARR_0_API_KEY=
|
|
# - UN_SONARR_0_PATHS_0=/data/torrents/anime
|
|
# - UN_SONARR_0_PATHS_1=/data/torrents/tv
|
|
# - UN_SONARR_0_PROTOCOLS=torrent
|
|
# - UN_SONARR_0_TIMEOUT=10s
|
|
# - UN_SONARR_0_DELETE_ORIG=false
|
|
# - UN_SONARR_0_DELETE_DELAY=5m
|
|
# # Radarr Config - Copy API Key from: http://radarr:7878/general/settings
|
|
# - UN_RADARR_0_URL=http://radarr:7878
|
|
# - UN_RADARR_0_API_KEY=
|
|
# - UN_RADARR_0_PATHS_0=/data/torrents/movies
|
|
# - UN_RADARR_0_PROTOCOLS=torrent
|
|
# - UN_RADARR_0_TIMEOUT=10s
|
|
# - UN_RADARR_0_DELETE_ORIG=false
|
|
# - UN_RADARR_0_DELETE_DELAY=5m
|
|
# # Lidarr Config - Copy API Key from: http://lidarr:8686/general/settings
|
|
# - UN_LIDARR_0_URL=http://lidarr:8686
|
|
# - UN_LIDARR_0_API_KEY=
|
|
# - UN_LIDARR_0_PATHS_0=/data/torrents/music
|
|
# - UN_LIDARR_0_PROTOCOLS=torrent
|
|
# - UN_LIDARR_0_TIMEOUT=10s
|
|
# - UN_LIDARR_0_DELETE_ORIG=false
|
|
# - UN_LIDARR_0_DELETE_DELAY=5m
|
|
# # Readarr Config - Copy API Key from: http://readarr:8787/general/settings
|
|
# - UN_READARR_0_URL=http://readarr:8787
|
|
# - UN_READARR_0_API_KEY=
|
|
# - UN_READARR_0_PATHS_0=/data/torrents/books
|
|
# - UN_READARR_0_PROTOCOLS=torrent
|
|
# - UN_READARR_0_TIMEOUT=10s
|
|
# - UN_READARR_0_DELETE_ORIG=false
|
|
# - UN_READARR_0_DELETE_DELAY=5m
|
|
# # Folder Config
|
|
# - UN_FOLDER_0_PATH=
|
|
# - UN_FOLDER_0_EXTRACT_PATH=
|
|
# - UN_FOLDER_0_DELETE_AFTER=10m
|
|
# - UN_FOLDER_0_DELETE_ORIGINAL=false
|
|
# - UN_FOLDER_0_DELETE_FILES=false
|
|
# - UN_FOLDER_0_MOVE_BACK=false
|
|
# # Webhook Config
|
|
# - UN_WEBHOOK_0_URL=
|
|
# - UN_WEBHOOK_0_NAME=
|
|
# - UN_WEBHOOK_0_NICKNAME=Unpackerr
|
|
# - UN_WEBHOOK_0_CHANNEL=
|
|
# - UN_WEBHOOK_0_TIMEOUT=10s
|
|
# - UN_WEBHOOK_0_SILENT=false
|
|
# - UN_WEBHOOK_0_IGNORE_SSL=false
|
|
# - UN_WEBHOOK_0_EXCLUDE_0=
|
|
# - UN_WEBHOOK_0_EVENTS_0=0
|
|
# - UN_WEBHOOK_0_TEMPLATE_PATH=
|
|
# - UN_WEBHOOK_0_CONTENT_TYPE=application/json
|
|
# # Command Hook Config
|
|
# - UN_CMDHOOK_0_COMMAND=
|
|
# - UN_CMDHOOK_0_NAME=
|
|
# - UN_CMDHOOK_0_TIMEOUT=10s
|
|
# - UN_CMDHOOK_0_SILENT=false
|
|
# - UN_CMDHOOK_0_SHELL=false
|
|
# - UN_CMDHOOK_0_EXCLUDE_0=
|
|
# - UN_CMDHOOK_0_EVENTS_0=0
|
|
# security_opt:
|
|
# - no-new-privileges:true
|
|
# network_mode: none
|