✅ Latest release: v0.4.0 — Cloud-init static IP, gateway, DNS, and interface renaming now fully functional via injected NoCloud ISO.
Appliance Image
Full bootable QCOW2 image. Deploy on KVM/QEMU-compatible hypervisors. Inject a NoCloud cidata ISO for automated network configuration, hostname, and credentials on first boot.
⬇ Download vpn-server.qcow2
SHA-256: 1bd6fbefcee3a728e2c43a2f9574c11328667a24d313dc690c00b15e229de602
What's included
- WireGuard & OpenVPN VPN server
- HTTPS web admin portal (self-signed or custom SSL)
- Cloud-init NoCloud ISO support for automated provisioning
- Static IP, gateway, DNS, interface renaming from cidata ISO
- In-place update system with Dropzone upload
- AES-256 encrypted backup & restore
- Hostname & SSL certificate management
In-Place Update Packages
💡 Upload these via the admin portal under Settings → Updates without re-downloading the full image.
Patches cloud-init's network configuration processing. Static IP, gateway, DNS, and interface renaming (set-name) from an injected NoCloud cidata ISO now work correctly.
- Fix: cloud-init routes with
to: default (v2 format) now apply correctly
- Fix: Static IP address assigned from cidata network-config
- Fix: Default gateway configured correctly on first boot
- Fix: DNS nameservers applied from cloud-init ISO
- Fix: Interface renaming via MAC address match + set-name
- Fix: cloud-init-local.service no longer fails on boot
SHA-256: 2a9a4090c2a976a2bcd8985263c64d19d601b42d9b1cd27bce8353dfe0c99b3f
Added interactive Dropzone for update file uploads and AES-256 password-protected backup/restore for settings and users.
⬇ Download vpn-update-0.3.0.tar.gz
SHA-256: d6c6991bfeda704e9b9fbe7bd07ca712645a79b1050d16bb6f8aa950b61b4a4b
Cloud-Init Network Config Reference
Supported network-config formats
Create a NoCloud cidata ISO with these files: meta-data, user-data, network-config. The appliance automatically processes it on first boot.
- v2: static IP with
addresses, gateway4
- v2: static IP with
routes: [{to: 0.0.0.0/0, via: gw}]
- v2: static IP with
routes: [{to: default, via: gw}] (new in v0.4.0)
- v2: MAC address matching with
match.macaddress + set-name
- v1: subnets with
type: static + address/netmask/gateway/dns_nameservers
- DHCP:
dhcp4: true (default fallback if no ISO provided)