
я используюbinhex/arch-rtorrentvpnи содержание моего docker-compose.yml
таково:
version: "2"
services:
rtorrent:
image: binhex/arch-rtorrentvpn
container_name: rtorrent
cap_add:
- NET_ADMIN
environment:
- VPN_ENABLED=yes
- VPN_USER=<myusername>
- VPN_PASS=<mypassword>
- VPN_PROV=custom
- VPN_OPTIONS=--script-security 2 --up /config/persists/tun_up.sh
- VPN_CLIENT=openvpn
- STRICT_PORT_FORWARD=no
- ENABLE_AUTODL_IRSSI=yes
- ENABLE_RPC2=yes
- ENABLE_RPC2_AUTH=no
- ENABLE_WEBUI_AUTH=no
- LAN_NETWORK=192.168.1.0/24
- NAME_SERVERS=1.1.1.1,1.0.0.1
- DEBUG=true
- PHP_TZ=Europe/London
- UMASK=000
- PUID=1000
- PGID=1000
volumes:
- ./config:/config
- ./downloads:/downloads
- /etc/localtime:/etc/localtime:ro
ports:
- 9080:9080
- 9443:9443
- 8118:8118
restart: unless-stopped
Проблема в том, что, согласно выводу [debug], моя командная строка OpenVPN выглядит следующим образом:
[debug] OpenVPN command line:- /usr/bin/openvpn
--reneg-sec 0
--mute-replay-warnings
--auth-nocache
--setenv VPN_PROV 'custom'
--setenv VPN_CLIENT 'openvpn'
--setenv DEBUG 'true'
--setenv VPN_DEVICE_TYPE 'tun0'
--setenv VPN_ENABLED 'yes'
--setenv VPN_REMOTE_SERVER '213.152.188.3'
--setenv APPLICATION 'rtorrent'
--script-security 2
--writepid /root/openvpn.pid
--remap-usr1 SIGHUP
--log-append /dev/stdout
--pull-filter ignore 'up'
--pull-filter ignore 'down'
--pull-filter ignore 'route-ipv6'
--pull-filter ignore 'ifconfig-ipv6'
--pull-filter ignore 'tun-ipv6'
--pull-filter ignore 'dhcp-option DNS6'
--pull-filter ignore 'persist-tun'
--pull-filter ignore 'reneg-sec'
--up /root/openvpnup.sh
--up-delay
--up-restart
--auth-user-pass credentials.conf
--script-security 2
--up /config/persists/tun_up.sh
--cd /config/openvpn
--config '/config/openvpn/nl910.nordvpn.com.tcp443.ovpn'
--remote 213.152.188.3 443 tcp-client
--remote-random
Это выдает ошибку: Multiple --up scripts defined. The previously configured script is overridden
и контейнер не запускается
Я попробовал вызвать скрипт двумя способами, указанными ниже, но оба раза возникла одна и та же ошибка.
- Вызов
/root/openvpnup.sh
скрипта через разделитель;
. Например:VPN_OPTIONS=--script-security 2 --up /config/persists/tun_up.sh;/root/openvpnup.sh
- Вызов
/root/openvpnup.sh
скрипта путем добавления/root/openvpnup.sh
в конец моегоtun_up.sh
скрипта. - Запуск скрипта через другие параметры (например:
--tls-verify
) вместо--up
Как мне это сделать?
решение1
Я подозреваю, что это происходит из-за того, что вы определяете скрипт up перед конфигурацией. Если вы попытаетесь добавить запуск--up /config/persists/tun_up.shвнутри самой конфигурации ovpn может сработать.
Другое предложение — скопировать скрипт внутрь/etc/openvpnи не указывать абсолютный путь к нему.