Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

Portlyn

Portlyn es un proxy inverso autocontenido y plano de control zero-trust construido con Go y Next.js que combina en una sola arquitectura la gestión de rutas, TLS, autenticación, certificados y observabilidad.

Ficha actualizada 23 sept 2026, 18:40 · upstream 23 sept 2026, 18:23 · release v1.5.0

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es Portlyn

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Portlyn es un proxy inverso autocontenido que combina en una única arquitectura la gestión de rutas, TLS, identidad y un túnel WireGuard. Expose servicios privados sobre su propio dominio mediante HTTPS, los bloquea con el método de autenticación adecuado para cada ruta y puede alcanzar máquinas detrás del NAT o CGNAT a través de un túnel integrado.

Es diseñado para homelabs y equipos pequeños que desean una sola herramienta en lugar de ensamblar Traefik, Authelia o Authentik junto con WireGuard y sus componentes de gestión. La configuración reside en una interfaz administrativa; las rutas, proveedores de identidad, certificados, nodos y auditoría son recursos primarios.

El núcleo corre como un binario independiente sobre Linux, mientras que la versión Docker Compose incluye PostgreSQL, Loki, Alloy y Grafana. El agente de nodo es un pequeño programa separado que se conecta al hub a través del túnel WireGuard, por lo que las máquinas no necesitan escuchar tráfico inbound.

CASOS DE USO
  • Exponer servicios propios en su dominio privado sin abrir puertos públicos
  • Colocar autenticación como capa de seguridad sobre cualquier herramienta interna, ya sea que tenga o no su propio login
  • Simplificar la configuración de homelabs y equipos pequeños que requieren múltiples componentes separados
PUNTOS DESTACADOS
  • Autenticación por ruta con métodos variados: PIN, email code, magic link, OIDC SSO y passkeys WebAuthn
  • Túnel WireGuard en userspace sin kernel module ni glue de wg-quick, con keypairs per nodo que nunca salen del host
  • ACME con múltiples proveedores DNS (Cloudflare, Hetzner, AWS Route 53, DigitalOcean) y soporte para Wildcard SANs
  • Auditoría hash-chained con verificación de integridad y webhooks a Slack/Discord/ntfy con firma HMAC-SHA256
  • Verificación de cadena de confianza Sigstore en cada actualización sin telemetría ni SDK
PRECAUCIONES
  • No es un CDN ni ofrece protección contra ataques volumétricos L3/L4 DDoS
  • No es una Web Application Firewall; no inspecciona el cuerpo de las peticiones
  • No es multi-tenant: todos los administradores ven todos los servicios
  • No es una cluster HA maduro: se recomienda un solo hub, con documentación disponible para clusters pero sin pruebas automáticas
  • No reemplaza la corrección de vulnerabilidades en aplicaciones upstream
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

Portlyn admin dashboardRoute login as seen by an end userService detail pageNode detail page with tunnel statusHash chained audit logAdd a service in the Portlyn admin UIPortlyn logoPer route PIN authentication
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO30 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Listo para automatizar

Instalación vía Docker Compose: clona el repo, copia .env.docker.example, edita los secretos y credenciales del admin, ejecuta docker compose up -d. Se puede sobrescribir el tag de la imagen con PORTLYN_IMAGE_TAG=v1.2.3. Para producción, verifica el checksum SHA-256 y la firma Sigstore del binario antes de ejecutarlo. La instalación manual requiere `portlyn init` para generar secretos, preparar datos y crear el admin, seguido de `./portlyn`. Se recomienda verificar la integridad con `portlyn doctor`. El agente de nodo se despliega como un servicio separado que se conecta al hub a través del túnel WireGuard.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsNode.jsGo
SERVICIOS
PostgreSQLRedis
BASES DE DATOS
PostgreSQLRedis
PUERTOS
80008080804435182031003001
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.