Skip to content

๐Ÿผ Pangolin โ€” Cloud Tunnel Gateway

Host: Cloud โ€“ Starbuck VPS ยท Compose: Cloud/Starbuck/pangolin/compose.yaml
Stack name: pangolin

1. Overview

Pangolin (by Fossorial) is a self-hosted reverse tunnel gateway โ€” similar to Cloudflare Tunnel but fully self-managed. It allows homelab services to be securely exposed through the Starbuck cloud VPS without opening firewall ports at home. The Newt client in Homelab/Docker/tools/ connects back to this server. Gerbil handles WireGuard tunnelling, and Traefik manages TLS termination on the VPS side.


2. Architecture & Services

Service Image Port Role
gerbil fosrl/gerbil:1.5.2 80, 443, 21820, 51820 WireGuard tunnel endpoint + traffic routing
pangolin fosrl/pangolin-node:1.5.1 โ€” Control plane: manages tunnel routes and config
traefik traefik:v3.7.13 โ€” TLS termination for tunnelled services

3. Networking

  • default โ€” โ€”
  • service:gerbil โ€” Shares network namespace with target container (Shares network namespace with target container (Shares network namespace with target container (Shares network namespace with target container (Shares network namespace with target container (Shares network namespace with target container (Shares network namespace with target container (โ€”)))))))

4. Persistent Storage

| Container | Host Path / Volume | Description | |---|---|---|| | gerbil | /home/michael/data/pangolin/config/ | Gerbil key file | | pangolin | /home/michael/data/pangolin/config | Pangolin config YAML | | pangolin | pangolin-data | โ€” | | traefik | /home/michael/data/pangolin/config/letsencrypt | Let's Encrypt certificates | | traefik | /home/michael/data/pangolin/config/traefik | Traefik config | | traefik | /home/michael/data/pangolin/config/traefik/logs | โ€” | | traefik | pangolin-data | โ€” |


5. Environment Variables

No environment variables defined.


6. Access & Usage

The Pangolin dashboard is accessible after startup. The Newt client (Homelab/Docker/tools/newt) connects to https://pangolin.fossorial.io to establish the tunnel.

# Start on Starbuck VPS
docker compose -f Cloud/Starbuck/pangolin/compose.yaml up -d

# Health check
curl -f http://localhost:3001/api/v1/

7. Maintenance & Backup

# Update
docker compose -f Cloud/Starbuck/pangolin/compose.yaml pull
docker compose -f Cloud/Starbuck/pangolin/compose.yaml up -d

# Backup
rsync -av /home/michael/data/pangolin/ /backup/pangolin/