Por qué centralizar incidencias, documentación y chat en una sola herramienta
Una suscripción a Linear, otra a Notion, otra a Slack y GitHub Projects suman con facilidad entre 40 y 80 € por desarrollador y mes. Más allá del coste, cada herramienta crea un silo: una decisión tomada en el chat no queda vinculada a la incidencia que se deriva de ella, y el wiki vive en un espacio separado del kanban. Huly se publica bajo la licencia EPL-2.0, muy permisiva para el self-hosting, lo que autoriza un despliegue comercial sin canon por puesto.
Lo que Huly consolida en su infraestructura
- Incidencias y sprints — cree tickets y organícelos en sprints y hojas de ruta con tableros Kanban integrados, sin salir de la aplicación.
- Wiki y documentación — redacte páginas estructuradas directamente en Huly; los documentos quedan versionados y vinculados a los proyectos correspondientes.
- Chat en tiempo real — mensajería por canales y por hilos, con videollamadas integradas, para sustituir Slack sin ninguna suscripción adicional.
- Sincronización bidireccional con GitHub — las incidencias de Huly se replican en GitHub y a la inversa; las pull requests de GitHub aparecen automáticamente en las incidencias vinculadas.
- Time tracking — registre el tiempo dedicado a cada incidencia directamente desde la interfaz, sin extensiones de terceros.
Requisitos exactos: lo que Huly consume realmente
Huly es una aplicación con un consumo de recursos elevado. El repositorio oficial huly-selfhost indica un mínimo absoluto de 2 vCPU y 8 GB de RAM — por debajo de ese umbral, los servicios pueden fallar al arrancar o dejar de responder bajo carga. En producción con un equipo activo, se recomiendan 4 vCPU y 16 GB de RAM. En cuanto al almacenamiento, calcule al menos 20 GB de volúmenes Docker: Elasticsearch por sí solo puede ocupar 4 a 6 GB tras unas semanas de indexación, y el almacén de archivos (MinIO) crece con los adjuntos. La pila ejecuta varios servicios simultáneos — front, account, transactor, workspace, collaborator, elasticsearch, cockroachdb, redpanda y minio. Un VPS ServOrbit Power (4 vCPU, 8 GB RAM) es suficiente para equipos de hasta quince personas; pase al tier Pro (8 GB+) para treinta o más.
Desplegar Huly en un VPS en cinco pasos
Clonar el repositorio oficial
Recupere la configuración desde el repositorio público:
git clone https://github.com/hcengineering/huly-selfhost.git && cd huly-selfhost. El repositorio incluyecompose.ymly el scriptsetup.sh, que genera automáticamente la configuración nginx y el archivo.env.Ejecutar el script de configuración
Ejecute
./setup.she introduzca la dirección de su subdominio (p. ej.huly.ejemplo.com). El script generahuly_v7.confcon la versión (HULY_VERSION), los secretos JWT, las credenciales de MinIO y las rutas de volúmenes. Active la configuración nginx consudo ln -s $(pwd)/nginx.conf /etc/nginx/sites-enabled/huly.conf && sudo nginx -s reload.Levantar los servicios con Docker Compose
Arranque toda la pila con
docker compose up -d. En el primer arranque, Elasticsearch y CockroachDB inicializan sus datos; calcule entre dos y tres minutos antes de que la interfaz esté accesible. Compruebe el estado de los contenedores condocker compose ps— todos deben mostrar el estadorunning.Configurar el reverse proxy HTTPS
El script
setup.shya genera la configuración nginx con TLS. Si usa Caddy o Traefik, apunte el reverse proxy al puerto interno del serviciofront(8083por defecto). Asegúrese de que los WebSockets se transmiten correctamente mediante las cabecerasUpgradeyConnection— sin ellas, la mensajería en tiempo real y las videollamadas no funcionarán.Crear el primer espacio de trabajo e invitar al equipo
Abra su subdominio en un navegador, cree una cuenta de administrador y genere su primer espacio de trabajo. Desde los ajustes del espacio, envíe invitaciones por correo electrónico a sus colaboradores. No se contabiliza ningún puesto de pago: solo paga el almacenamiento y el ancho de banda consumidos en su VPS.
Para activar la sincronización con GitHub, vaya a Ajustes → Integraciones de su espacio de trabajo Huly. Conecte su organización de GitHub en unos pocos clics mediante OAuth. Las incidencias creadas en Huly aparecen entonces automáticamente en el repositorio correspondiente, y las pull requests de GitHub quedan vinculadas a las incidencias afectadas — sin ningún webhook que configurar manualmente.
Configuración post-instalación: backup, alertas y actualizaciones
Una vez en marcha Huly, tres tareas de mantenimiento merecen configurarse sin demora.
Configurar backup, monitorización y actualizaciones
Automatizar las copias de seguridad
El repositorio incluye dos scripts listos para usar:
backup-create.shybackup-restore.sh. Ejecute./backup-create.shdesde la carpetahuly-selfhostpara archivar todos los volúmenes (CockroachDB, Elasticsearch, MinIO). Programe el script mediante cron — por ejemplo0 3 * * * /opt/huly-selfhost/backup-create.sh >> /var/log/huly-backup.log 2>&1para un backup diario a las 3 h. Almacene los archivos fuera del VPS (S3, bucket Hetzner o disco remoto). Para migraciones mayores (p. ej. v0.6.x → v0.7.x), consulte siempreMIGRATION.mdantes de restaurar.Monitorizar la salud de los contenedores
Configure una alerta sencilla ejecutando
docker compose psen un cron cada cinco minutos, o despliegue una herramienta ligera como Uptime Kuma (disponible como aplicación self-hosted en el mismo VPS). Monitorice prioritariamente los serviciosaccount,transactoryelasticsearch— son los responsables de los fallos más visibles. Los registros de cada servicio están disponibles condocker compose logs -f <nombre-del-servicio>.Actualizar a una nueva versión
Antes de cada actualización, lea
MIGRATION.mdpara la versión objetivo. Si la sección dice "No changes required", el procedimiento es sencillo: editeHULY_VERSIONenhuly_v7.confcon el nuevo tag (p. ej.v0.7.426), luego ejecutegit pull && docker compose pull && docker compose up -d. Para una actualización mayor (0.6.x → 0.7.x), siga los pasos de migración documentados, especialmente en torno a la secciónv0.7.204— una migración directa bloquea los datos de MongoDB de forma difícil de revertir.
Resolución de errores: cuatro problemas frecuentes y sus soluciones
Los problemas más habituales al desplegar Huly tienen todos la misma causa raíz: un servicio que no ha terminado de inicializarse, o una configuración de red incompleta.
Errores frecuentes y remedios
- El registro falla en silencio al crear la cuenta. Causa probable: el servicio
accountno es accesible o está mal configurado. Revise sus registros condocker compose logs -f account— un error de callback URL o un problema de conexión a CockroachDB aparecerá claramente. Asegúrese de queHULY_HOSTen su configuración coincide exactamente con el subdominio publicado. - Elasticsearch no arranca (código de salida 137 u OOMKilled). Causa: memoria insuficiente. Elasticsearch requiere al menos 4 GB de RAM para él solo al arrancar. Si su VPS está al límite, añada
ES_JAVA_OPTS=-Xms1g -Xmx1gen la secciónenvironmentdel servicioelasticsearchencompose.ymlpara limitar su heap Java a 1 GB — a costa del rendimiento de búsqueda. - MinIO inaccesible — los adjuntos no se cargan. Causa: problemas de permisos en los volúmenes o un fallo de resolución DNS interna entre contenedores. Compruebe que el servicio
minioestá en estadorunningcondocker compose ps. Si los archivos subidos desaparecen tras un reinicio, verifique que la ruta de volumen enhuly_v7.confes una ruta absoluta válida en el host y que los permisos son correctos (chown -R 1000:1000 /var/huly/files). - Los WebSockets no funcionan — mensajería y videollamadas bloqueadas. Causa: el reverse proxy no reenvía las cabeceras
Upgrade: websocketyConnection: Upgrade. En nginx, añada explícitamenteproxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";dentro del bloquelocation. Con Caddy, la directivareverse_proxygestiona los WebSockets automáticamente en versiones recientes.
¿Para qué equipos tiene sentido Huly?
Huly encaja especialmente en agencias y equipos técnicos de 5 a 50 personas que quieren reducir su huella SaaS sin perder funcionalidades. También conviene a los equipos que manejan datos sensibles y para los que alojar internamente las conversaciones y la documentación es una exigencia normativa o contractual. Por último, si la multiplicación de suscripciones por puesto se convierte en un freno al crecimiento, un solo servidor VPS basta para cubrir todas las herramientas de colaboración.
Huly frente a Linear + Notion + Slack: lo que gana y lo que asume
Desplace la tabla
| Coste mensual (equipo de 10 personas) | ~600 € (suscripciones acumuladas) | ~30 € (VPS ServOrbit) |
|---|---|---|
| Alojamiento de datos | En los proveedores SaaS | En su propia infraestructura |
| Mantenimiento del servidor | Ninguno | Actualizaciones + backups a gestionar |
| Personalización | Limitada a los planes tarifarios | Total (código abierto EPL-2.0) |
| Recursos necesarios | Solo navegador | VPS 2 vCPU / 8 GB RAM mínimo |
Para ir más lejos en la automatización de sus flujos de trabajo, Huly puede combinarse con un pipeline CI/CD self-hosted. Consulte nuestra guía sobre Woodpecker CI y Forgejo para montar un pipeline completo en el mismo VPS.