← All work
Infrastructure · 2017

Multi-Protocol Self-Hosted VPN Server (SoftEther)

Overview

A containerized multi-protocol VPN server built on SoftEther, exposing L2TP/IPsec, OpenVPN, SSTP, and SoftEther’s native protocol from a single Docker Compose deployment, with an optional Tor/privoxy egress path.

Why It Exists

Running a private, self-hosted VPN that speaks several client protocols at once, without standing up and tuning each daemon by hand, is a common networking/security need. SoftEther bundles them, and packaging it as a container makes deployment repeatable.

What We Built

A Docker Compose stack running the siomiz/softethervpn image with NET_ADMIN capability and the full set of VPN ports published (UDP 500/4500/1194, TCP 1701/443/5555/992). Server/hub passwords, the pre-shared key, user accounts, and the server certificate/key are injected via an env file; custom upstream DNS is set on the container. A commented-out Tor + privoxy service shows an anonymizing egress option.

Technologies & Approach

SoftEther VPN for one server covering multiple tunneling protocols; Docker Compose with elevated networking capabilities and explicit port mapping; environment-driven configuration of credentials and certificates for reproducible, parameterized deployment.

Outcome / Impact

A deployable, multi-protocol VPN endpoint from a single Compose file, demonstrating practical VPN and secure-networking infrastructure skills. Archived.

Capabilities Demonstrated

  • Deploying multi-protocol VPN servers (L2TP/IPsec, OpenVPN, SSTP, SoftEther)
  • Containerizing privileged network services with Docker Compose
  • Certificate/credential-driven, reproducible network configuration
More work See all →