Run a SoftEther VPN server in Docker with automatic first-run bootstrap.
docker run -d \
--name softether-vpn-server \
--restart unless-stopped \
--cap-add NET_ADMIN \
-p 443:443/tcp \
-p 992:992/tcp \
-p 1194:1194/udp \
-p 1701:1701/udp \
-p 500:500/udp \
-p 4500:4500/udp \
-p 5555:5555/tcp \
-v softether_data:/var/lib/softether \
-v softether_log:/var/log/softether \
ajleal/softether:latestOn first boot, the container initializes SoftEther and prints generated credentials and an OpenVPN client profile to container logs. Treat logs as sensitive.
docker logs softether-vpn-serverUse the included docker-compose.yml as a base.
docker compose up -dvpncmd is available inside the container:
docker exec -it softether-vpn-server vpncmd localhostExample VPN client setup:
docker exec -it softether-vpn-server vpncmd localhost /client
VPN Client> AccountSet homevpn /SERVER:192.168.1.1:443 /HUB:VPN
VPN Client> AccountPasswordSet homevpn /PASSWORD:verysecurepassword /TYPE:standard
VPN Client> AccountConnect homevpn
VPN Client> AccountStartupSet homevpn
VPN Client> AccountStatusGet homevpnThe repository uses a lowercase dockerfile filename:
docker build -f dockerfile -t softether-local .Override base Alpine release if needed:
docker build -f dockerfile --build-arg ALPINE_VERSION=edge -t softether-local .