Я бы хотел, чтобы весь трафик от шлюза направлялся через vpn, за исключением возможности доступа к порту 58846 из моей локальной сети.
version: '3'
services:
vpn:
image: dperson/openvpn-client
cap_add:
- net_admin
environment:
TZ: 'EST5EDT'
networks:
- default
read_only: true
devices:
- /dev/net/tun
tmpfs:
- /run
- /tmp
restart: unless-stopped
security_opt:
- label:disable
stdin_open: true
tty: true
volumes:
- /dev/net:/dev/net:z
- ~/vpn:/vpn
deluge:
image: linuxserver/deluge
container_name: deluge
network_mode: "service:vpn"
# ports:
# - "58846:58846"
environment:
- PUID=1001
- PGID=1001
- UMASK_SET=022
- TZ=America/New_York
volumes:
- ~/deluge/config:/config
- ~/downloads:/downloads
restart: unless-stopped
В соответствии с readme openvpn-client здесь: https://github.com/dperson/openvpn-client
В нем говорится, что контейнер запускается примерно так:
sudo docker run -it --cap-add=NET_ADMIN --device /dev/net/tun --name vpn \
-v /some/path:/vpn -d dperson/openvpn-client \
-r 192.168.1.0/24 -v 'vpn.server.name;username;password'
Но я не могу найти какое-либо объяснение -r или какой-либо способ получить это в docker-compose. VPN работает с моей текущей конфигурацией, но я не могу понять, как открыть порт.