This container is designed to be as small as possible and host a SoftEther VPN Server It´s based on Alpine so resulting Image is kept as small as 15MB!
- bridging to a physical Ethernet adapter
- OpenVPN
- L2tp
- SSL
- SecureNAT
Image | Description |
---|---|
softethervpn/vpnserver:stable | Latest stable release from https://github.com/SoftEtherVPN/SoftEtherVPN_Stable |
softethervpn/vpnserver:v4.39-9772-beta | Tagged build |
softethervpn/vpnserver:latest | Latest commits from https://github.com/SoftEtherVPN/SoftEtherVPN |
You should always specify your wanted version like softethervpn/vpnserver:5.02.5180
This will keep your config and Logfiles in the docker volume softetherdata
docker run -d --rm --name softether-vpn-server -v softetherdata:/mnt -p 443:443/tcp -p 992:992/tcp -p 1194:1194/udp -p 5555:5555/tcp -p 500:500/udp -p 4500:4500/udp -p 1701:1701/udp --cap-add NET_ADMIN softethervpn/vpnserver:stable
As there are different operating modes for SoftetherVPN there is a variety of ports that might or might not be needed. For operation with Softether Clients at least 443, 992 or 5555 is needed. See https://www.softether.org/4-docs/1-manual/1/1.6 for reference on the Softether ports. Others are commented out in the docker-compose example.
The same command can be achieved by docker-compose, the docker compose file is in the repository
version: '3'
services:
softether:
image: softethervpn/vpnserver:latest
cap_add:
- NET_ADMIN
restart: always
ports:
- # 53:53 #DNS tunneling
- 443:443 #Management and HTTPS tunneling
- 992:992 #HTTPS tunneling
- # 1194:1194/udp #OpenVPN
- 5555:5555 #HTTPS tunneling
- # 500:500/udp #IPsec/L2TP
- # 4500:4500/udp #IPsec/L2TP
- # 1701:1701/udp #IPsec/L2TP
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/etc/timezone:/etc/timezone:ro"
- "./softether_data:/var/lib/softether"
- "./softether_log:/var/log/softether"
# - "./adminip.txt:/var/lib/softether/adminip.txt:ro"
With newer releases vpncmd is directly in the container so you can use it to configure the vpnserver. You can can run it once the container is running :
docker exec -it softether-vpn-server vpncmd
docker build --target vpnclient -t softethevpn:latest .