Skip to content

Container deployment HowTo

weidi edited this page Dec 30, 2021 · 3 revisions

Why

As there are different Use-Cases for a VPN Server / Client inside a docker container here is how to do so.

  • Multiple instances on the same server running different Versions of SoftEtherVPN to test behaviour
  • Existing container application that needs to run inside a VPN can leverage a "sidecar" VPN Client container
  • Lightweight deployment method (server image only 25MB) and no dependency other than container runtime

Community provided images

This is just a short list of most pulled images from dockerhub, for sure not complete.

Server

With container Networking low-level protocols get a little tricky to handle but L2TP / IPSec, OpenVPN, SSL is seen working

This will start latest softethervpn container and expose ports needed for a default deployment. For more help on usage use the respective readme. This is just an example.

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 toprock/softether

Docker Compose

version: '3'

services:
  softether:
    image: toprock/softether:5.01.9672
    cap_add:
      - NET_ADMIN
    restart: always
    ports:
      - 53:53
      - 444:443
      - 992:992
      - 1194:1194/udp
      - 5555:5555
      - 500:500/udp
      - 4500:4500/udp
      - 1701:1701/udp
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - "/etc/timezone:/etc/timezone:ro"
      - "./softether_data:/mnt"
      - "./softether_log:/root/server_log"
      - "./softether_packetlog:/root/packet_log"
      - "./softether_securitylog:/root/security_log"

You may also select stable tag.

https://hub.docker.com/r/toprock/softether/

More Documentation is down here.

https://github.com/weidi/softether-docker

Bridge

toprock/softether:vpnbridge