Wireguard
When I first set out to create my VPN, WireGuard was my top choice.
However, as I began the installation process, I encountered some problems. The base VPN image wouldnāt run because WireGuard requires the wireguard kernel module
to be enabled. Unfortunately, since I was using a limited Container-Optimized GCP image that didnāt support this, I decided to switch to my second option.
OpenVPN
The initial idea was straightforward:
- Run docker container with OpenVPN server
- Export *.ovpn connection profile into a private folder
- Distribute the file above from the https://static.nurlashko.dev
Fortunately, I discovered OpenVPN’s Access Server Docker image. This setup includes both the server and a user-friendly interface allowing me to view metrics and manage users easily. I also found it quite convenient that on the mobile app, instead of dealing with .ovpn profiles, I could simply enter the server URL(https://vpn.nurlashko.dev) along with my username and password. The app would then fetch the necessary configurations and connect me to the server automatically.