90 lines
3.8 KiB
YAML
90 lines
3.8 KiB
YAML
###########################################################################
|
|
###########################################################################
|
|
##
|
|
## Docker Compose File: Gluetun (qmcgaw)
|
|
## Function: VPN Client
|
|
##
|
|
## Documentation: https://github.com/qdm12/gluetun-wiki
|
|
##
|
|
###########################################################################
|
|
###########################################################################
|
|
networks:
|
|
mediastack:
|
|
name: mediastack
|
|
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:
|
|
#- "8320:8320/tcp" # Gluetun Local Network HTTP control server
|
|
- "8888:8888/tcp" # Gluetun Local Network HTTP proxy
|
|
- "8388:8388/tcp" # Gluetun Local Network Shadowsocks
|
|
- "8388:8388/udp" # Gluetun Local Network Shadowsocks
|
|
- "${GLUETUN_CONTROL_PORT:?err}:${GLUETUN_CONTROL_PORT:?err}" # Gluetun Status Port
|
|
- "${QBIT_PORT:?err}:6881" # Transmission Torrent Port
|
|
|
|
# Comment out lines below if they are not going to use Gluetun VPN for Internet connection:
|
|
|
|
# - "${WEBUI_PORT_BAZARR:?err}:6767" # WebUI Portal: Bazarr
|
|
# - "${WEBUI_PORT_HOMARR:?err}:7575" # WebUI Portal: Homarr
|
|
# - "${WEBUI_PORT_JELLYFIN:?err}:8096" # WebUI Portal: Jellyfin
|
|
# - "${WEBUI_PORT_JELLYSEERR:?err}:5055" # WebUI Portal: Jellyseerr
|
|
- "${WEBUI_PORT_LIDARR:?err}:8686" # WebUI Portal: Lidarr
|
|
# - "${WEBUI_PORT_MYLAR:?err}:8090" # WebUI Portal: Mylar3
|
|
- "${WEBUI_PORT_PROWLARR:?err}:9696" # WebUI Portal: Prowlarr
|
|
- "${WEBUI_PORT_RADARR:?err}:7878" # WebUI Portal: Radarr
|
|
- "${WEBUI_PORT_JACKET:?err}:9117" # WebUI Portal: Jackett
|
|
- "${WEBUI_PORT_READARR:?err}:8787" # WebUI Portal: Readarr
|
|
# - "${WEBUI_PORT_SABNZBD:?err}:8080" # WebUI Portal: SABnzbd
|
|
# - "${WEBUI_PORT_SONARR:?err}:8989" # WebUI Portal: Sonarr
|
|
# - "${WEBUI_PORT_WHISPARR:?err}:6969" # WebUI Portal: Whisparr
|
|
- "${FLARESOLVERR_PORT:?err}:8191" # Flaresolverr Port
|
|
|
|
# - "${WEBUI_PORT_FILEBOT:?err}:${WEBUI_PORT_FILEBOT:?err}" # WebUI Portal: Filebot
|
|
- "${WEBUI_PORT_QBITTORRENT:?err}:${WEBUI_PORT_QBITTORRENT:?err}" # WebUI Portal: qBittorrent
|
|
|
|
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
|
|
|
|
# NOTE: Gluetun VPN container MUST ONLY connect to the mediastack
|
|
|
|
networks:
|
|
- mediastack
|