Files
Terraform/roles/ind/grail/docker-compose.yml
2025-01-21 11:58:14 -06:00

223 lines
6.3 KiB
YAML

networks:
media-network:
name: media-network
driver: bridge
ipam:
driver: default
config:
- subnet: ${DOCKER_SUBNET:?err}
gateway: ${DOCKER_GATEWAY:?err}
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
- "8200:8200" # WebUI Portal: qBittorrent
- "${QBIT_PORT_TCP:?err}:44172/tcp" # Transmission Torrent Port TCP
- "${QBIT_PORT_UDP:?err}:44172/udp" # Transmission Torrent Port UDP
env_file:
- ./docker-compose.env
volumes:
- ${FOLDER_FOR_CONFIGS:?err}/gluetun:/gluetun
environment:
- PUID=${PUID:?err}
- PGID=${PGID:?err}
- TZ=${TIMEZONE:?err}
- VPN_SERVICE_PROVIDER=${VPN_SERVICE_PROVIDER:?err}
- OPENVPN_USER=${VPN_USERNAME}
- OPENVPN_PASSWORD=${VPN_PASSWORD}
- SERVER_COUNTRIES=${SERVER_COUNTRIES}
- SERVER_REGION=${SERVER_REGION}
- SERVER_CITIES=${SERVER_CITIES}
- SERVER_HOSTNAMES=${SERVER_HOSTNAMES}
- FIREWALL_OUTBOUND_SUBNETS=${LOCAL_SUBNET:?err}
- OPENVPN_CUSTOM_CONFIG=${OPENVPN_CUSTOM_CONFIG}
- 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
# NOTE: Gluetun VPN container MUST ONLY connect to the media-network
networks:
- media-network
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
user: ${PUID:?err}:${PGID:?err}
restart: unless-stopped
ports:
- "${WEBUI_PORT_JELLYFIN:?err}:8096"
volumes:
- ${FOLDER_FOR_CONFIGS:?err}/jellyfin/etc/:/config
- ${FOLDER_FOR_CONFIGS:?err}/jellyfin/var/cache:/config
- ${FOLDER_FOR_MEDIA:?err}:/media
- type: bind
source: /dev/dri
target: /dev/dri
read_only: false
environment:
- JELLYFIN_PublishedServerUrl=https://ryantoler.duckdns.org/
bazarr:
image: ghcr.io/linuxserver/bazarr:latest
container_name: bazarr
restart: unless-stopped
volumes:
- ${FOLDER_FOR_CONFIGS:?err}/bazarr:/config
- ${FOLDER_FOR_MEDIA:?err}:/data
- /ceph:/downloads
ports:
- "${WEBUI_PORT_BAZARR:?err}:6767"
environment:
- PUID=${PUID:?err}
- PGID=${PGID:?err}
- TZ=${TIMEZONE:?err}
- DOCKER_MODS=ghcr.io/gilbn/theme.park:bazarr
- TP_THEME=${TP_THEME:?err}
networks:
- media-network
jellyseerr:
image: fallenbagel/jellyseerr:latest
container_name: jellyseerr
restart: unless-stopped
volumes:
- ${FOLDER_FOR_CONFIGS:?err}/jellyseerr:/app/config
ports:
- "${WEBUI_PORT_JELLYSEERR:?err}:5055"
environment:
- PUID=${PUID:?err}
- PGID=${PGID:?err}
- UMASK=${UMASK:?err}
- TZ=${TIMEZONE:?err}
networks:
- media-network
prowlarr:
image: ghcr.io/linuxserver/prowlarr:develop
container_name: prowlarr
restart: unless-stopped
volumes:
- ${FOLDER_FOR_CONFIGS:?err}/prowlarr:/config
ports:
- "${WEBUI_PORT_PROWLARR:?err}:9696"
environment:
- PUID=${PUID:?err}
- PGID=${PGID:?err}
- TZ=${TIMEZONE:?err}
- DOCKER_MODS=ghcr.io/gilbn/theme.park:prowlarr
- TP_THEME=${TP_THEME:?err}
networks:
- media-network
qbittorrent:
image: ghcr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
restart: unless-stopped
volumes:
- ${FOLDER_FOR_CONFIGS:?err}/qbittorrent:/config
- ${FOLDER_FOR_MEDIA:?err}:/data
- /ceph:/downloads
environment:
- PUID=${PUID:?err}
- PGID=${PGID:?err}
- UMASK=${UMASK:?err}
- TZ=${TIMEZONE:?err}
- WEBUI_PORT=8200
- DOCKER_MODS=ghcr.io/themepark-dev/theme.park:qbittorrent-develop
- TP_THEME=${TP_THEME:?err}
depends_on:
- gluetun
network_mode: "service:gluetun"
qbit-exporter:
image: caseyscarborough/qbittorrent-exporter:latest
container_name: qbit-exporter
ports:
- "17871:17871"
environment:
- QBITTORRENT_USERNAME=admin
- QBITTORRENT_PASSWORD=hammy1
- QBITTORRENT_BASE_URL=http://192.168.0.5:8200
radarr:
image: ghcr.io/linuxserver/radarr:latest
container_name: radarr
restart: unless-stopped
volumes:
- /ceph:/downloads
- ${FOLDER_FOR_CONFIGS:?err}/radarr:/config
- ${FOLDER_FOR_MEDIA:?err}:/data
ports:
- "${WEBUI_PORT_RADARR:?err}:7878"
environment:
- PUID=${PUID:?err}
- PGID=${PGID:?err}
- TZ=${TIMEZONE:?err}
- DOCKER_MODS=ghcr.io/gilbn/theme.park:radarr
- TP_THEME=${TP_THEME:?err}
networks:
- media-network
readarr:
image: ghcr.io/linuxserver/readarr:develop
container_name: readarr
restart: unless-stopped
volumes:
- ${FOLDER_FOR_CONFIGS:?err}/readarr:/config
- ${FOLDER_FOR_MEDIA:?err}:/data
- /ceph:/downloads
ports:
- "${WEBUI_PORT_READARR:?err}:8787"
environment:
- PUID=${PUID:?err}
- PGID=${PGID:?err}
- TZ=${TIMEZONE:?err}
- DOCKER_MODS=ghcr.io/gilbn/theme.park:readarr
- TP_THEME=${TP_THEME:?err}
networks:
- media-network
requestrr:
environment:
- ${FOLDER_FOR_CONFIGS:?err}/requestrr:/config
ports:
- 4545:4545
container_name: requestwqrr
image: darkalfx/requestrr
sonarr:
image: ghcr.io/linuxserver/sonarr:latest
container_name: sonarr
restart: unless-stopped
volumes:
- /ceph:/downloads
- ${FOLDER_FOR_CONFIGS:?err}/sonarr:/config
- ${FOLDER_FOR_MEDIA:?err}:/data
ports:
- "${WEBUI_PORT_SONARR:?err}:8989"
environment:
- PUID=${PUID:?err}
- PGID=${PGID:?err}
- TZ=${TIMEZONE:?err}
- DOCKER_MODS=ghcr.io/gilbn/theme.park:sonarr
- TP_THEME=${TP_THEME:?err}
networks:
- media-network