created transmission-openvpn

This commit is contained in:
2026-05-24 00:07:27 -07:00
parent bd3a21a9ea
commit e382343f4c
2 changed files with 78 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
# Transmission-OpenVPN Docker Compose Environment Variables
# Image version tag (default: latest)
TRANSMISSION_OPENVPN_VERSION=latest
# Transmission web UI theme (default: transmission-web-control)
TRANSMISSION_WEB_UI=transmission-web-control
# Transmission RPC credentials
TRANSMISSION_RPC_USERNAME=
TRANSMISSION_RPC_PASSWORD=
# Host port to expose the Transmission web UI (default: 9091)
TRANSMISSION_OPENVPN_PORT=9091
# Host path or NFS mount path for downloaded data
TRANSMISSION_OPENVPN_DATA=
# VPN provider name (e.g. PIA, MULLVAD, NORDVPN)
OPENVPN_PROVIDER=
# VPN server/region config name (e.g. ca_vancouver)
OPENVPN_CONFIG=
# VPN provider credentials
OPENVPN_USERNAME=
OPENVPN_PASSWORD=
# Local network CIDR to allow LAN access through the VPN (default: 172.16.0.0/16)
LOCAL_NETWORK=172.16.0.0/16
@@ -0,0 +1,48 @@
services:
app:
image: haugene/transmission-openvpn:${TRANSMISSION_OPENVPN_VERSION:-latest}
container_name: transmission-openvpn-app
environment:
- TRANSMISSION_WEB_UI=${TRANSMISSION_WEB_UI:-transmission-web-control}
- TRANSMISSION_RPC_AUTHENTICATION_REQUIRED=true
- TRANSMISSION_RPC_USERNAME=${TRANSMISSION_RPC_USERNAME}
- TRANSMISSION_RPC_PASSWORD=${TRANSMISSION_RPC_PASSWORD}
- TRANSMISSION_DOWNLOAD_DIR=/data
- TRANSMISSION_INCOMPLETE_DIR=/data
- OPENVPN_PROVIDER=${OPENVPN_PROVIDER}
- OPENVPN_CONFIG=${OPENVPN_CONFIG}
- OPENVPN_USERNAME=${OPENVPN_USERNAME}
- OPENVPN_PASSWORD=${OPENVPN_PASSWORD}
- OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60
- LOCAL_NETWORK=${LOCAL_NETWORK}
volumes:
- transmission-openvpn-config:/config
- ${TRANSMISSION_OPENVPN_DATA}:/data
ports:
- ${TRANSMISSION_OPENVPN_PORT:-9091}:9091
cap_add:
- NET_ADMIN
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9091/transmission/web/"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
logging:
driver: json-file
options:
max-size: 10m
deploy:
resources:
limits:
memory: 512m
restart: unless-stopped
volumes:
transmission-openvpn-config:
name: transmission-openvpn-config
driver: local
driver_opts:
type: nfs
o: "addr=${TRANSMISSION_OPENVPN_NFS_SERVER},rw,noatime,rsize=65536,wsize=65536,timeo=600,nfsvers=4"
device: "${TRANSMISSION_OPENVPN_NFS_DEVICE}"