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 networks: - arr_network 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}" networks: arr_network: external: true