Initial vault setup
This commit is contained in:
@@ -0,0 +1,142 @@
|
||||
---
|
||||
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](https://pangolin.net/) |
|
||||
| **GitHub** | [fosrl/pangolin](https://github.com/fosrl/pangolin) |
|
||||
| **License** | Custom (source-available, gratuit) |
|
||||
| **Langage** | TypeScript |
|
||||
| **Étoiles GitHub** | 21k ⭐ |
|
||||
| **Dernière MAJ** | 2026-06-04 |
|
||||
| **Catégorie** | [[cat-reverse-proxy|Reverse Proxy]], VPN, Tunneling |
|
||||
|
||||
## 📝 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é)
|
||||
|
||||
```yaml
|
||||
# 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
|
||||
|
||||
1. **Démarrer Pangolin** (Docker Compose ci-dessus)
|
||||
2. **Accéder à l'UI** : `http://IP:8080`
|
||||
3. **Créer le premier admin** (via setup wizard)
|
||||
4. **Ajouter des ressources** (services à exposer)
|
||||
5. **Déployer l'agent** sur chaque serveur distant
|
||||
6. **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
|
||||
|
||||
- [Documentation officielle](https://docs.pangolin.net/)
|
||||
- [GitHub fosrl/pangolin](https://github.com/fosrl/pangolin)
|
||||
- [Discord fosrl](https://discord.gg/fosrl)
|
||||
|
||||
## Pages Liées
|
||||
- [[cat-reverse-proxy]] — Catégorie Reverse Proxy
|
||||
- [[app-traefik]] — Concurrent classique
|
||||
- [[vpn]] — Concepts VPN
|
||||
- [[zero-trust]] — Modèle de sécurité
|
||||
Reference in New Issue
Block a user