refactor docker-compse

This commit is contained in:
tolerryan
2025-03-02 15:12:07 -06:00
parent 519dba3dcc
commit a18faf8775
2 changed files with 41 additions and 112 deletions

View File

@@ -69,7 +69,7 @@ QBIT_PORT_UDP=44172
FLARESOLVERR_PORT=8191 FLARESOLVERR_PORT=8191
TDARR_SERVER_PORT=8266 TDARR_SERVER_PORT=8266
WEBUI_PORT_TDARR=8265 WEBUI_PORT_TDARR=8265
WEBUI_PORT_QBITTORRENT=8200 RUTORRENT_PORT=8200
# SWAG is configured for Reverse Proxy. Set your Internet gateway to redirect incoming ports 80 and 443 # SWAG is configured for Reverse Proxy. Set your Internet gateway to redirect incoming ports 80 and 443
@@ -94,7 +94,7 @@ STAGING=false
HEALTH_VPN_DURATION_INITIAL=45s HEALTH_VPN_DURATION_INITIAL=45s
HEALTH_VPN_DURATION_ADDITION=30s HEALTH_VPN_DURATION_ADDITION=30s
UPDATER_PERIOD=8h UPDATER_PERIOD=8h
TZ=Europe/Paris TZ=America/Chicago
PUID=1000 PUID=1000
PGID=1000 PGID=1000

View File

@@ -1,115 +1,44 @@
networks:
media-network:
name: media-network
driver: bridge
ipam:
driver: default
config:
- subnet: ${DOCKER_SUBNET:?err}
gateway: ${DOCKER_GATEWAY:?err}
services: services:
gluetun: gluetun:
image: qmcgaw/gluetun:latest image: qmcgaw/gluetun
container_name: gluetun container_name: gluetun
restart: always restart: always
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
devices: devices:
- /dev/net/tun:/dev/net/tun - /dev/net/tun
ports: volumes:
- "8888:8888/tcp" # Gluetun Local Network HTTP proxy - ./data/gluetun:/gluetun
- "8388:8388/tcp" # Gluetun Local Network Shadowsocks ports:
- "8388:8388/udp" # Gluetun Local Network Shadowsocks - 11000:6881/udp #rutorrent
- "${RUTORRENT_PORT}:8200" # WebUI Portal: qBittorrent - 11001:11001 #rutorrent
- "${QBIT_PORT_TCP:?err}:44172/tcp" - 11002:8080 #rutorrent
- "${QBIT_PORT_UDP:?err}:44172/udp" - 11003:9000 #rutorremt
env_file: - 11004:50000 #rutorrent
- ./docker-compose.env environment:
volumes: - PUID=1000
- ${FOLDER_FOR_CONFIGS:?err}/gluetun:/gluetun - PGID=1000
environment: - TZ=America/Chicago
- PUID=${PUID:?err} - VPN_SERVICE_PROVIDER=airvpn
- PGID=${PGID:?err} - VPN_TYPE=openvpn # change it to your protocol
- TZ=${TIMEZONE:?err} - OPENVPN_CUSTOM_CONFIG=/gluetun/ipvanish.openvpn.conf
- VPN_SERVICE_PROVIDER=${VPN_SERVICE_PROVIDER:?err} - VPN_INTERFACE=tun0
- OPENVPN_USER=${VPN_USERNAME} - FIREWALL_OUTBOUND_SUBNETS=192.168.0.1/24
- OPENVPN_PASSWORD=${VPN_PASSWORD} - SERVER_CITIES="Chicago Illinois"
- 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
geoip-updater: rutorrent:
image: crazymax/geoip-updater:latest
container_name: geoip-updater
networks:
- rtorrent-rutorrent
volumes:
- "./data/geoip:/data"
env_file:
- "./docker-compose.env"
restart: always
rtorrent-rutorrent:
image: crazymax/rtorrent-rutorrent:latest image: crazymax/rtorrent-rutorrent:latest
container_name: rtorrent-rutorrent container_name: rutorrent
networks: environment:
- media-network - PUID=1000
expose: - PGID=1000
- "${RT_DHT_PORT}/udp" - TZ=America/Chicago
- "${XMLRPC_PORT}" - XMLRPC_PORT=11001 #the default port is 8000 but mine was already in use. if yours is free then you don't need this line and you can change this line '- 11001:11001' in ports to '- 11001:8000'
- "${RUTORRENT_PORT}"
- "${WEBDAV_PORT}"
- "${RT_INC_PORT}"
ports:
- target: ${RT_DHT_PORT}
published: ${RT_DHT_PORT}
protocol: udp
- target: ${RUTORRENT_PORT}
published: ${RUTORRENT_PORT}
protocol: tcp
- target: ${WEBDAV_PORT}
published: ${WEBDAV_PORT}
protocol: tcp
- target: ${RT_INC_PORT}
published: ${RT_INC_PORT}
protocol: tcp
env_file:
- "rtorrent-rutorrent.env"
- ".env"
volumes: volumes:
- "./data:/data" - /volume1/docker/rutorrent/data:/data
- "/data:/downloads" - /volume1/docker/rutorrent/downloads:/downloads
- "./passwd:/passwd" - /volume1/docker/rutorrent/password:/passwd
ulimits: network_mode: service:gluetun
nproc: 65535 security_opt:
nofile: - no-new-privileges:true
soft: 32000
hard: 40000
restart: always
rtorrent-logs:
image: bash
container_name: rtorrent-rutorrent-logs
command: bash -c 'tail -f /log/*.log'
network_mode: none
depends_on:
- rtorrent-rutorrent
volumes:
- "./data/rtorrent/log:/log"
restart: always restart: always