Cómo instalar Pangolin en Docker - Tunneled Reverse Proxy autohospedado

Pangolin | Reverse Proxy | VPN | WireGuard | Identity & Access Control | Self-hosted | Zero-Trust | Open Source | AGPL-3.0 | Cloudflare Tunnel alternative

Pangolin en Docker: Reverse proxy + VPN tunneled autohospedado con identity & access control, WireGuard NAT traversal, browser-based web app access, SSH/RDP/VNC tunnels, site connectors, RBAC, MFA, LetsEncrypt SSL, dashboard UI, zero-trust, Cloudflare alternative, AGPL-3.0 open source 🔒🌐

Pangolin es una plataforma de acceso remoto completamente autohospedada y open source que proporciona reverse proxy tunneled + VPN capabilities basado en WireGuard. Conecta redes aisladas (incluso detrás de firewalls restrictivos) a través de túneles cifrados, proporciona browser-based access a aplicaciones web, SSH/RDP/VNC tunnels, site connectors ligeros sin requerir IPs públicas o puertos abiertos, identity-based access control, centralized authentication (SSO), role-based access control (RBAC), TOTP two-factor authentication, temporary share links, automated SSL certificates (LetsEncrypt), load balancing, NAT traversal, dashboard UI intuitivo, REST API, AGPL-3.0 open source con opción Enterprise, alternativa autohospedada a Cloudflare Tunnel.

Vídeo tutorial en YouTube

Mira el vídeo completo sobre cómo instalar y usar Pangolin en Docker en el canal GENBYTE:

¿Qué es Pangolin en Docker?

Pangolin es una plataforma de acceso remoto completamente autohospedada y open source que proporciona reverse proxy tunneled + VPN capabilities basado en WireGuard. Conecta redes aisladas (incluso detrás de firewalls restrictivos) a través de túneles cifrados, proporciona browser-based access a aplicaciones web sin necesidad de cliente, SSH/RDP/VNC tunnels en navegador, site connectors ligeros sin requerir IPs públicas o puertos abiertos, identity-based access control, centralized authentication (SSO), role-based access control (RBAC), TOTP two-factor authentication con backup codes, temporary self-destructing share links, automated SSL certificates (LetsEncrypt), load balancing, intelligent NAT traversal, dashboard UI intuitivo, REST API completa con scoped API keys, AGPL-3.0 open source con opción Enterprise license (gratuita para hobbyist), alternativa autohospedada a Cloudflare Tunnel sin costos recurrentes. La solución de acceso remoto seguro que pedías.

Propuesta clave: Open-source remote access (WireGuard-based). Reverse proxy + VPN combined. No open ports. NAT traversal. Browser-based web access. SSH/RDP/VNC tunnels. Identity & access control. RBAC. TOTP. Temporary share links. SSL automation. REST API. Self-hosted. Zero-trust. Cloudflare Tunnel alternative. AGPL-3.0 / Enterprise.

Para homelabs + infraestructura remota: Acceso remoto seguro sin puertos abiertos. Identidad & control. NAT traversal. Alternativa Cloudflare. Self-hosted. Open source.

Características principales

WireGuard tunnels

User-space WireGuard. NAT traversal. No open ports. Firewall punching.

Browser-based access

Access web apps en navegador. HTTP/HTTPS. Sin cliente requerido.

SSH/RDP/VNC tunnels

Terminal access en navegador. Desktop remote. Direct client. TCP/UDP.

Site connectors

Lightweight gateway. Binary o Docker. Multi-platform. Remote networks.

Identity management

Centralized SSO. LDAP/SAML. OAuth2. Email whitelisting. One login.

Access control

RBAC roles. IP filtering. URL path rules. Granular permissions.

MFA & Security

TOTP con backup codes. Temporary share links. Self-destructing.

SSL automation

LetsEncrypt integration. Auto-renewal. HTTPS enforcement.

Load balancing

Multiple targets. Health checking. Automatic failover.

REST API

Full API. Scoped API keys. Swagger docs. Programmatic access.

Organizations

Multi-tenant. Multiple sites. Teams. User management.

Dashboard UI

Resource management. Monitoring. Activity logs. Analytics.

Requisitos del sistema

  • Docker & Docker Compose v2+
  • 1 GB - 4 GB RAM mínimo (recomendado 2GB+ para producción)
  • 5 GB - 50GB+ espacio disco (según datos/logs)
  • Puerto TCP: 8080 (web UI), 443 (HTTPS), WireGuard UDP (configurable)
  • Base de datos: PostgreSQL 12+ (recomendado) o SQLite
  • OS: Linux (recomendado), Windows, macOS
  • Network: Outbound Internet. DNS resolution.
  • Opcional: Dominio propio para SSL/HTTPS
⚠️ AGPL-3.0 Copyleft: Community edition es AGPL-3.0 (copyleft). Modificaciones deben ser open source. Enterprise license disponible (gratuita para <$100K anuales). Revisar licencia antes de producción.
💡 Producción: Para deployments grandes, usa PostgreSQL + múltiples site connectors distribuidos. Monitorea recursos.

Instalación con Docker Compose

Paso 1: docker-compose.yml (control plane + PostgreSQL)

version: '3.8' services: pangolin: image: fosrl/pangolin:latest container_name: pangolin-cp restart: unless-stopped ports: - "8080:8080" - "443:443" volumes: - ./data:/home/pangolin environment: - DATABASE_URL=postgres://pangolin:password@db:5432/pangolin - TZ=America/Mexico_City db: image: postgres:15 container_name: pangolin-db restart: unless-stopped environment: - POSTGRES_DB=pangolin - POSTGRES_USER=pangolin - POSTGRES_PASSWORD=password volumes: - db_data:/var/lib/postgresql/data volumes: db_data:

Paso 2: Iniciar Pangolin

docker compose up -d # Espera ~30 segundos para que inicie docker compose logs -f pangolin

Paso 3: Acceder a Pangolin

# Abre en navegador: http://localhost:8080 # O desde dominio configurado: https://pangolin.tudominio.com # Setup inicial: crea admin account

Acceder a Pangolin

🔒 Pangolin Dashboard: http://localhost:8080 o https://dominio.com
🔑 REST API: https://dominio.com/api
📦 Site Connector Config: Descárgalo del dashboard

Primeros pasos

  1. Abre http://localhost:8080 en navegador
  2. Complete setup inicial: crea organización y usuario admin
  3. Dashboard principal carga con vista de recursos vacía
  4. Create "Site" = pasarela a red remota (descarga Newt/CLI config)
  5. Deploy site connector en máquina remota (binary o Docker)
  6. Create "Resources" = aplicaciones web a exponer (HTTP/HTTPS)
  7. Configure access control: RBAC, IP filtering, paths
  8. Usuarios acceden vía browser/client con auth integrada
⚠️ Setup inicial: Configura SSL/dominio (LetsEncrypt automático). Cambiar contraseña admin. TOTP por usuarios.
💡 Site connectors: Deploy en la red remota (office, homelab, datacenter). Establece túnel saliente a Pangolin. Sin puertos abiertos requeridos.

Casos de uso

  • Secure remote access: Acceso remoto seguro sin puertos abiertos. VPN + reverse proxy combinado.
  • Multi-site connectivity: Conecta oficinas remotas. Datacenters distribuidos. Branches.
  • Homelab exposure: Expone self-hosted apps de forma segura. Acceso remoto desde cualquier lugar.
  • Zero-trust architecture: Identity-based access. No trust network. Granular RBAC.
  • Cloudflare Tunnel replacement: Alternativa gratuita self-hosted. Control total. Open source.
  • Enterprise deployments: Multi-tenant. Organizations. Team management. Audit logs.
  • No-port infrastructure: NAT traversal. Firewall punching. Acceso sin puertos públicos.

Configuración avanzada

Deploy site connector (en red remota)

# Descarga connector config desde dashboard # Opción 1: Binary en máquina ./pangolin site up -c site-config.toml # Opción 2: Docker en red remota docker run -d --name pangolin-site \ -v /path/to/config.toml:/config.toml \ fosrl/pangolin:latest site up -c /config.toml

Configurar LDAP/Active Directory

# Settings → Authentication → LDAP # Configure server URL, bind DN, group mapping # Auto-sync usuarios desde AD

Custom certificate (no LetsEncrypt)

# Sube certificado + key en Settings → SSL # O integra con Caddy/nginx reverse proxy frontal

API integrations

# Create API key con permisos específicos # Use REST API para automations (Terraform, n8n, etc) # GET /api/resources, POST /api/access-rules, etc

Gestión y mantenimiento

Ver estado

docker compose ps

Ver logs

docker compose logs -f pangolin # Ver también DB logs docker compose logs -f db

Detener Pangolin

docker compose down

Actualizar versión

docker compose pull docker compose up -d # DB migration automático

Backup de datos

docker compose exec db pg_dump -U pangolin pangolin > backup.sql # Backup carpeta /data también tar -czf pangolin_backup_$(date +%Y%m%d).tar.gz data/

Monitorear consumo

docker stats pangolin-cp db # Típicamente: # Pangolin CPU: 5-15% (según tráfico) # Pangolin RAM: 200-800MB # PostgreSQL RAM: 500MB-2GB

Stack técnico

  • Control Plane: Go + Rust (performance-focused)
  • Site Connectors: Go (lightweight, multi-platform)
  • Frontend Dashboard: React/TypeScript (modern UI)
  • Networking: WireGuard (user-space implementation), NAT traversal
  • Database: PostgreSQL 12+ (recomendado) o SQLite
  • API: REST API (Swagger/OpenAPI docs)
  • Authentication: LDAP, SAML, OAuth2, TOTP
  • SSL/TLS: LetsEncrypt automation, custom certs
  • Deployment: Docker, Docker Compose, binary, Kubernetes-ready
  • Licencia: AGPL-3.0 open source (Community) + Fossorial Commercial (Enterprise)

Comparativa con alternativas

vs Cloudflare Tunnel ($20-200/mes)

Pangolin gana: Gratis, self-hosted, full control, open source, no vendor lock-in. Cloudflare gana: Managed service, 99.99% SLA, global CDN, DDoS protection, 24/7 support.

vs Tailscale ($60-300/mes)

Pangolin gana: Gratis, self-hosted control plane, más control granular. Tailscale gana: Simpler setup, managed service, mobile client quality, consumer focus.

vs Wireguard + manual setup

Pangolin gana: Dashboard UI, identity management, access control, browser-based apps, automation. Manual gana: Máximo control, no dependencies.

Mejor para: Self-hosted infraestructura, homelab, multi-site, zero-trust requirement. Open source preference. Full control. No recurring costs.

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.