4.3 KiB
4.3 KiB
title: Pangolin created: 2026-06-06 updated: 2026-06-06 type: app tags: [catalogue, reverse-proxy, tunneling, typescript, vpn, security] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Reverse+Proxy, https://pangolin.net/]
🚦 Pangolin
Reverse proxy avec tunneling intégré : alternative open-source à Cloudflare Tunnel + Cloudflare Access. Sécurise et expose vos services sans ouvrir de ports.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | pangolin.net |
| GitHub | fosrl/pangolin |
| License | Custom (source-available, gratuit) |
| Langage | TypeScript |
| Étoiles GitHub | 21k ⭐ |
| Dernière MAJ | 2026-06-04 |
| Catégorie | [[cat-reverse-proxy |
📝 Description
Pangolin est un reverse proxy + tunnel combiné avec gestion d'accès :
- ✅ Tunneling (comme Cloudflare Tunnel, mais self-hosted)
- ✅ Reverse proxy classique
- ✅ Authentification SSO intégrée
- ✅ Access control par utilisateur/rôle/ressource
- ✅ Multi-site : agents déployables sur plusieurs serveurs
- ✅ WireGuard intégré pour la couche réseau
- ✅ Dashboard moderne (UI très propre)
- ✅ API REST complète
Différence avec app-traefik : Traefik = reverse proxy "pur", Pangolin = reverse proxy + tunneling + SSO + VPN le tout-en-un.
Différence avec app-cloudflared : Cloudflared = tunnel vers Cloudflare, Pangolin = tout en local, pas de dépendance cloud.
🚀 Installation
Option 1 : Docker Compose (recommandé)
# docker-compose.yml
version: '3.8'
services:
pangolin:
image: fosrl/pangolin:latest
container_name: pangolin
restart: unless-stopped
ports:
- "8080:8080" # Web UI
- "443:443" # HTTPS
volumes:
- ./config:/app/config
depends_on:
- postgres
postgres:
image: postgres:15
container_name: pangolin-db
restart: unless-stopped
environment:
- POSTGRES_USER=pangolin
- POSTGRES_PASSWORD=*** - POSTGRES_DB=pangolin
volumes:
- pg-data:/var/lib/postgresql/data
# Agent (à déployer sur chaque serveur distant)
pangolin-agent:
image: fosrl/pangolin-agent:latest
container_name: pangolin-agent
restart: unless-stopped
environment:
- PANGOLIN_SERVER_URL=https://pangolin.example.com
- PANGOLIN_AGENT_SECRET=*** volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes:
pg-data:
⚙️ Configuration Initiale
- Démarrer Pangolin (Docker Compose ci-dessus)
- Accéder à l'UI :
http://IP:8080 - Créer le premier admin (via setup wizard)
- Ajouter des ressources (services à exposer)
- Déployer l'agent sur chaque serveur distant
- Configurer l'auth (SSO, access lists)
🔄 Alternatives
Open Source
- app-traefik + app-cloudflared (combo pour faire pareil)
- Headscale — VPN self-hosted
- NetBird — WireGuard + UI
- Nebula — Mesh VPN (overlap avec Pangolin)
Comparaison Pangolin vs Cloudflare Tunnel
| Critère | Pangolin | Cloudflare Tunnel |
|---|---|---|
| Self-hosted | ✅ | ❌ |
| Dépendance cloud | Aucune | Cloudflare |
| Coût | Gratuit | Freemium |
| SSO intégré | ✅ | Via Cloudflare Access |
| Performance | Dépend du serveur | CDN global |
| Facilité setup | Moyenne | Très simple |
Verdict : Pangolin pour contrôle total et souveraineté. Cloudflare Tunnel pour simplicité maximale et CDN global.
Propriétaires (ce que Pangolin remplace)
- Cloudflare Tunnel + Cloudflare Access (~5$/mois)
- ngrok Business
- Tailscale Funnel
- Zrok (open source mais moins complet)
🔐 Sécurité
- SSO (OIDC, OAuth2)
- Access control granulaire
- WireGuard pour le transport (chiffré)
- HTTPS automatique
- Audit logs
📚 Ressources
Pages Liées
- cat-reverse-proxy — Catégorie Reverse Proxy
- app-traefik — Concurrent classique
- vpn — Concepts VPN
- zero-trust — Modèle de sécurité