Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

funchole

Plataforma open-source auto-hospedada para desplegar y ejecutar funciones con arquitectura gateway-first, NATS+JetStream, Docker Compose y soporte ACME/Let's Encrypt. Incluye control plane en Spring Boot, runtime Node.js, dispatcher para orquestación y OpenBao para gestión de secretos.

Ficha actualizada 23 sept 2026, 18:11 · upstream 23 sept 2026, 17:57 · release sin release detectada

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

Qué es funchole

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

FuncHole es una plataforma open-source auto-hospedada diseñada para desplegar y ejecutar funciones (functions) detrás de tu propia infraestructura. Opera bajo un modelo gateway-first donde las rutas HTTP se exponen a través de un Gateway centralizado, y cada ruta puede corresponder a una función ejecutable o a una aplicación estática. El sistema soporta múltiples lenguajes de ejecución como Node.js y ofrece un entorno de desarrollo local completo con Docker Compose. La arquitectura utiliza NATS + JetStream para coordinación global y IPC para la ejecución local. Incluye control plane en Spring Boot, runtime worker persistente, dispatcher para orquestación y OpenBao para gestión segura de secretos.

CASOS DE USO
  • Desplegar funciones backend en producción sin necesidad de servidores dedicados
  • Servir frontend estático directamente a través del Gateway sin ejecutar código
  • Automatizar despliegues mediante pipelines CI/CD integradas con Spring Boot
  • Gestionar múltiples servicios y flujos de trabajo desde un solo control plane
  • Implementar autenticación JWT y verificación de dominios para aplicaciones críticas
  • Despliegue local rápido con Docker Compose sin necesidad de infraestructura dedicada
PUNTOS DESTACADOS
  • Soporta múltiples lenguajes de ejecución: Node.js (funciones) y estático (frontend)
  • Arquitectura gateway-first que separa la gestión, el acceso a rutas y la ejecución
  • NATS + JetStream para coordinación distribuida con persistencia duradera de estado
  • MCP server integrado para gestión de funciones, flujos y gateways mediante agentes
  • Certificados auto-generados (self-signed) con soporte ACME/Let's Encrypt
  • Base de datos PostgreSQL 17 con Flyway para migraciones automáticas
  • Registro de runtime en memoria que permite selección determinística por in-flight
PRECAUCIONES
  • La reserva de capacidad de runtime es in-memory y no distribuida, lo que puede ser un cuello de botella bajo carga alta
  • No se soporta desafíos DNS-01 ACME (solo HTTP-01), requiriendo integración manual con proveedores como Let's Encrypt
  • El registro de rutas está en memoria por defecto; la persistencia distribuida no está implementada
  • La ejecución local es IPC y no tiene soporte nativo para respuestas dinámicas HTML reales sin SSR
  • No existe un cache compartido entre controlplane, gateway o runtime
  • La autenticación se basa en JWT con claves de API separadas; la gestión de credenciales debe ser manual
VISUAL

Capturas del proyecto

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

FuncHole wireframe
01

Perfil de infraestructura

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

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

Despliegue detectado

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

Listo para automatizar

Para producción recomendamos el uso del Docker Compose de producción (docker-compose.yml) para despliegue. Se recomienda configurar un certificado SSL real mediante ACME/Let's Encrypt y no usar certificados self-signed en producción. El controlplane se ejecuta como Spring Boot con autenticación JWT, mientras que el gateway es una instancia raw Netty. Para escalabilidad horizontal, se debe replicar el registro de runtime y la base de datos PostgreSQL. Se recomienda mantener un solo gateway por dominio para evitar conflictos de rutas.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

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

FRAMEWORKS
Next.jsNode.js
SERVICIOS
PostgreSQLS3/MinIONATS
BASES DE DATOS
PostgreSQL
PUERTOS
708030005432820042228222900090015380443
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.