Files
2026-06-09 18:40:21 +02:00

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

  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

Pages Liées