self-hosted 7 min read

Octelium – FOSS Zero Trust Access Platform (ZTNA, VPN, ngrok Alt)

Octelium is a self-hosted, open-source unified zero trust platform combining VPN, ZTNA, secure tunnels, AI gateway, and MCP gateway in one install.

By
Share: X in
Octelium product thumbnail showing ZTNA architecture

TL;DR

TL;DR: Octelium is an AGPL-3.0, self-hosted unified zero trust platform that replaces Tailscale, ngrok, Cloudflare Access, and Teleport with one install — zero standing privileges, layer-7 aware access control.

Source and Accuracy Notes

⚠️ This section is MANDATORY. All links must be verified from actual source, not guessed.

What Is Octelium?

Octelium is a free and open source, self-hosted unified zero trust secure access platform. One install covers:

  • Remote access VPN — zero-config WireGuard/QUIC client access (Tailscale alternative)
  • Zero Trust Network Access (ZTNA) — identity-based, L7-aware BeyondCorp-style access (Cloudflare Access, Teleport alternative)
  • Secure tunnels — self-hosted ngrok/Cloudflare Tunnel replacement
  • API Gateway — Kong Gateway, Apigee alternative
  • AI/LLM Gateway — identity-based routing and access control for AI providers
  • MCP Gateway — self-hosted Model Context Protocol gateway for AI agents
  • PaaS-like deployment — Vercel/Netlify alternative for containerized apps
  • Homelab infrastructure — remote access to everything behind NAT

The project launched on HN in June 2026 at 3,910 stars and has been actively developed with the latest commit on 2026-06-30.

Setup Workflow

Prerequisites

  • Linux VM or bare-metal with 2GB RAM and 20GB disk (Ubuntu 24.04 LTS, Debian 12+, or similar)
  • A domain name pointed to the server’s IP
  • Root SSH access

Step 1: Install the Cluster

SSH into your VPS as root, then run:

curl -o install-cluster.sh https://octelium.com/install-cluster.sh
chmod +x install-cluster.sh

# Replace <DOMAIN> with your actual domain
./install-cluster.sh --domain <DOMAIN>

The installer sets up a single-node Kubernetes cluster with Octelium’s control plane. The README says a cheap cloud VM (DigitalOcean Droplet, Hetzner, AWS EC2, Vultr) is sufficient for most development and personal use cases.

Step 2: Install CLI Tools

Once the cluster is running, install the octeliumctl CLI on your local machine:

Linux / macOS:

curl -fsSL https://octelium.com/install.sh | bash

Windows (PowerShell):

iwr https://octelium.com/install.ps1 -useb | iex

Step 3: Try Without Installing

If you want to explore Octelium without installing anything, use the GitHub Codespace playground:

  1. Visit github.com/octelium/playground
  2. Run it in a Codespace
  3. Follow the README to spin up a demo cluster inside the Codespace

Step 4: Manage Your Cluster

After installation, manage the cluster declaratively using octeliumctl. Configurations can be stored in Git for GitOps workflows. Full management docs are at octelium.com/docs/octelium/latest/overview/management.

Deeper Analysis

Architecture Highlights

Zero standing privileges: Octelium has no “admin” user concept by default. All access is granted dynamically on a per-request basis via policy-as-code using CEL and Open Policy Agent (OPA).

L7-aware access control: Unlike traditional VPNs that operate at the network layer, Octelium makes routing and access decisions at the application layer — inspecting request content to apply fine-grained policies.

Secretless access: The platform can access resources protected by HTTP credentials, SSH keys, Kubernetes kubeconfigs, and PostgreSQL/MySQL passwords without exposing or distributing those secrets. The proxy handles the credential lifecycle.

Cordium sandboxing: Cordium is a sibling open-source project providing identity-based, self-hosted Kubernetes sandboxes accessible via web terminal, SSH, CLI, or gRPC — useful for giving AI agents or external users isolated access without installing the Octelium client.

Comparison Table

| Capability | Octelium | Tailscale | Cloudflare Access | Teleport | ngrok | |---|---|---|---|---|---| | Self-hosted | ✅ | ❌ | ❌ | ✅ | ❌ | | ZTNA / BeyondCorp | ✅ | Partial | ✅ | ✅ | ❌ | | WireGuard VPN | ✅ | ✅ | ❌ | ❌ | ❌ | | Secure tunnels | ✅ | ❌ | ✅ | ❌ | ✅ | | API Gateway | ✅ | ❌ | ❌ | ❌ | ❌ | | AI / LLM Gateway | ✅ | ❌ | ❌ | ❌ | ❌ | | MCP Gateway | ✅ | ❌ | ❌ | ❌ | ❌ | | ABAC policy-as-code | ✅ (CEL/OPA) | ❌ | Partial | ✅ | ❌ | | Secretless access | ✅ | ❌ | Partial | ❌ | ❌ | | License | AGPL-3.0 | Proprietary | Proprietary | BSL/AGPL | Proprietary |

Practical Evaluation Checklist

  • [ ] Single-node install completed on a test VPS
  • [ ] octeliumctl CLI connected to cluster
  • [ ] WireGuard client access tested (VPN mode)
  • [ ] Clientless BeyondCorp access tested
  • [ ] Secure tunnel / reverse proxy tested
  • [ ] ABAC policy-as-code rule applied (CEL or OPA)
  • [ ] OpenTelemetry audit logs exported
  • [ ] MCP gateway connected to an AI agent
  • [ ] Deploy a sample containerized app as a Service

Security Notes

  • No proprietary SaaS control plane — everything runs on your own infrastructure
  • Zero standing privileges — access is granted per-request, not via persistent admin accounts
  • mTLS support — any L7 protocol protected by mutual TLS can be accessed secretlessly
  • FIDO2/WebAuthn/Passkey MFA — built-in authenticator support for human identity
  • TPM 2.0 binding — hardware-rooted authentication for workloads
  • OpenTelemetry-native — every request is logged and exportable to your SIEM
  • Policy-as-code — all access rules are declarative and version-controllable in Git

FAQ

Q: How does Octelium compare to Tailscale? A: Tailscale is a proprietary managed SaaS with a free tier that routes traffic through DERP servers. Octelium is fully self-hosted, open source (AGPL-3.0), and combines VPN + ZTNA + tunnels + API gateway + AI gateway in one install. If you need ownership and no vendor lock-in, Octelium wins. Tailscale wins on simplicity and out-of-the-box mobile client UX.

Q: Can I run Octelium on a Raspberry Pi? A: The README targets Ubuntu 24.04 LTS or Debian 12+ on a VPS or bare-metal. It installs Kubernetes (k3s-based), which typically needs more resources than a Pi provides. A Pi running Octelium is not officially supported, but the codespace playground lets you experiment without any install.

Q: What is the MCP Gateway feature? A: Octelium can act as a secure gateway for Model Context Protocol (MCP) servers — the standard used by AI agents like Claude to call external tools. It provides identity management, OAuth2 client credentials auth, and policy-based access control for MCP tool calls.

Q: Is there a managed/cloud hosted version? A: No. Octelium is strictly self-hosted with no proprietary SaaS control plane. There is no paid cloud-hosted tier.

Q: What is Cordium? A: Cordium is a sibling open-source project (also from the Octelium team) providing self-hosted, identity-based Kubernetes sandboxes. Think of it as a secure execution environment for AI agents and external users — accessible via web terminal, SSH, CLI, or gRPC — without installing the Octelium client on their machine.

Conclusion

Octelium is a Swiss-army-knife of infrastructure access — VPN, ZTNA, secure tunnels, API gateway, AI gateway, and MCP gateway all from one AGPL-3.0 project. The no-admin, policy-as-code, secretless architecture is architecturally sound for self-hosted threat models. If you want full ownership of your access infrastructure without stitching together Tailscale + Cloudflare Access + ngrok + a separate API gateway, Octelium is worth evaluating. The single-node install on a cheap VPS is accessible to individual developers.

Key links: