-
Notifications
You must be signed in to change notification settings - Fork 2
Blueprint: Pangolin identity-aware VPN and proxy server #8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 2 commits
220c4c2
f7092d3
0fd74b0
48691c9
70cb332
0e04bcb
ae789f5
8aa20ad
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,381 @@ | ||||||||||
| # Pangolin Dokploy Template | ||||||||||
|
|
||||||||||
| > **Zero-trust identity-aware reverse proxy and VPN server for secure remote access** | ||||||||||
|
|
||||||||||
|
Comment on lines
+1
to
+4
|
||||||||||
| - 🔐 **Identity-Aware Access**: Enforce authentication before reaching any resource | ||||||||||
| - 🌐 **WireGuard VPN Tunnels**: Connect remote sites and clients with modern WireGuard | ||||||||||
| - 🔄 **Dynamic Reverse Proxy**: Built-in Traefik for automatic TLS and HTTP routing | ||||||||||
| - 👥 **Multi-Org Support**: Isolated organizations with role-based access control | ||||||||||
| - 🔑 **SSO / OIDC Integration**: Connect to Authelia, Authentik, Keycloak, and more | ||||||||||
| - 🛡️ **Zero-Trust Architecture**: No implicit trust — every request is authenticated | ||||||||||
| - 📊 **Audit Logging**: Track all access and connections | ||||||||||
|
|
||||||||||
| **Official Documentation**: https://docs.pangolin.net/ | ||||||||||
|
|
||||||||||
| --- | ||||||||||
|
|
||||||||||
| ## Architecture | ||||||||||
|
|
||||||||||
| ``` | ||||||||||
| Internet | ||||||||||
| │ | ||||||||||
| ├── 443 (HTTPS) ──► Gerbil + Traefik ──► Tunneled Services | ||||||||||
| ├── 51820 (UDP) ──► Gerbil (WireGuard) ──► VPN Clients | ||||||||||
| │ | ||||||||||
| └── Dokploy Traefik ──► Pangolin Dashboard (Admin UI) | ||||||||||
|
|
||||||||||
| ┌─────────────────────────────────────────────────────┐ | ||||||||||
| │ Pangolin Stack │ | ||||||||||
| │ │ | ||||||||||
| │ ┌────────────┐ ┌─────────┐ ┌─────────────┐ │ | ||||||||||
| │ │ Pangolin │◄───│ Gerbil │◄───│ Traefik │ │ | ||||||||||
| │ │ (Control) │ │ (VPN) │ │ (Proxy) │ │ | ||||||||||
| │ │ Port 3001 │ │UDP 51820│ │ Port 80/443 │ │ | ||||||||||
| │ │ Port 3000 │ │ │ │ │ │ | ||||||||||
| │ └────────────┘ └─────────┘ └─────────────┘ │ | ||||||||||
| │ │ │ | ||||||||||
| │ ┌──────▼──────┐ │ | ||||||||||
| │ │ SQLite DB │ (persisted in pangolin-db volume) │ | ||||||||||
|
||||||||||
| │ │ SQLite DB │ (persisted in pangolin-db volume) │ | |
| │ │ SQLite DB │ (persisted in pangolin-config volume)│ |
Copilot
AI
Mar 6, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The README suggests avoiding conflicts by changing HTTP_PROXY_PORT/HTTPS_PROXY_PORT (e.g. to 8080/8443), but the template’s embedded Traefik config relies on ACME httpChallenge, which requires host port 80 to be mapped to container port 80. Please reconcile this guidance (either document the required Traefik config changes like switching to tlsChallenge/DNS-01, or remove the suggestion to move port 80).
Copilot
AI
Mar 6, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Backup table says pangolin-config contains “Let's Encrypt certs”, but ACME storage is configured at /letsencrypt/acme.json and the compose mounts traefik-certs to /letsencrypt. The certs will live in traefik-certs, not pangolin-config; please correct the volume contents list so backups cover the right data.
| | `pangolin-config` | SQLite database, WireGuard keys, Let's Encrypt certs | | |
| | `traefik-certs` | Traefik certificate store (ACME) | | |
| | `pangolin-config` | SQLite database, WireGuard keys, Pangolin application configuration | | |
| | `traefik-certs` | Traefik ACME storage (Let's Encrypt certificates) | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This repo maintains a central index of available templates in
blueprints/README.md. Since this PR adds a newpangolinblueprint, that table should be updated to include Pangolin so users can discover it.