Pangolin: The Self-Hosted Tunnel That Replaces Tailscale, Cloudflare and Twingate

A fifteen-minute tour of fosrl/pangolin — 22,008 stars on GitHub, TypeScript, created September 2024. Described as "CloudFlare tunnels with Twingate baked in, but self-hosted": outbound tunnels via WireGuard, a public VPS as the entry point, a reverse proxy with SSL, per-resource authentication, users/roles/permissions, and a companion mobile app. The presenter has tried Headscale, NetBird, Cloudflare and Tailscale — every one fell short on features, stability or mobile support. Pangolin replaces them all.

I Found The END GAME of Homelab Tunnels
📺 DevOps Toolbox ⏱️ 15:25 📅 7 August 2026 👁️ 745
Pangolin WireGuard Self-hosted Reverse proxy Zero-trust

📌 What Pangolin is 1:37

fosrl/pangolin22,008 stars on GitHub, TypeScript, created September 2024. Described as "identity-aware VPN and tunneled reverse proxy for remote access". The project is active and the website (pangolin.io) returns HTTP 200.
"Pangolin is basically CloudFlare tunnels with Twingate baked in, but self-hosted. It gives you outbound tunnels, a public VPS entry point, a reverse proxy, SSL certificates, users, roles, permissions, and authentication in front of all applications."
License note. The presenter says it is open source — "every layer of it, including the SaaS option. Fully open. Nothing gated." The GitHub license field is NOASSERTION — no SPDX license identifier. The claim is his; the license status is worth checking before deploying.

🏗️ Architecture 2:46

ComponentWhat it does
Public VPS (Gerbil)The entry point — terminates SSL, examines hostname, routes to the correct backend. Runs in Docker.
Home server (Newt)The private-network agent — tunnels outbound via WireGuard. No port forwarding on the home router.
TraefikBuilt-in reverse proxy — routes traffic based on hostname. Integrated, not a separate setup step.
WireGuardThe tunnel layer. Zero-trust access based on WireGuard — outbound-only from the home side.
Auth layerPer-resource authentication — any service behind Pangolin gets an auth screen without modifying the service itself.

⚙️ Setup 10:00

One Docker Compose file on the VPS. A companion agent — Newt — installed on the home server. The presenter walks through the UI: resources (each proxied service), sites, users, roles, and the access control model. He demonstrates adding a new service (Dozzle) behind Pangolin with a single resource definition — hostname, target port, authentication toggle.

🧩 Features

FeatureStatus
Outbound tunnels (no port forwarding)Built-in
Reverse proxy with SSLBuilt-in — Traefik integrated
Per-resource authenticationBuilt-in — works across all proxied services
Users, roles, permissionsBuilt-in
Mobile appAvailable — demonstrated for on-the-go access
Docker Compose deploymentOne file
Open sourceClaimed — license is NOASSERTION on GitHub

🔍 Claims checked

ClaimResult
Pangolin is a real projectfosrl/pangolin — 22,008 ⭐, TypeScript, created Sep 2024
WireGuard-based, zero-trustConfirmed in repo description
Open source ("every layer, nothing gated")License is NOASSERTION — not confirmed
Docker Compose deploymentConsistent with the project structure
Mobile app availableClaimed; not independently verified
Method note. 404 segments across 15:25. Verified 7 August 2026.

💡 Key takeaways

  1. One tool replaces five. Headscale, NetBird, Cloudflare, Tailscale, Twingate — Pangolin covers all their use cases in one Docker Compose file.
  2. Outbound-only tunnels. No port forwarding on the home router — the VPS is the entry point.
  3. Per-resource auth without modifying services. Any proxied application gets an auth screen.
  4. The license claim is unverified. NOASSERTION on GitHub — check before deploying.

🔗 Resources

🕐 Timestamps

0:00Intro — what homelab tunnels miss
1:37What Pangolin is
2:46Architecture — Gerbil + Newt + Traefik
10:00Docker Compose setup walkthrough
☰ View all