servicrab
Supervisor de procesos ligero en Rust para stacks locales, homelabs y servidores pequeños. Soporta dependencias, health checks, watch mode y gestión de logs rotativos. Funciona solo en Linux/macOS.
Ficha actualizada 28 sept 2026, 7:44 · upstream 28 sept 2026, 7:18 · release v1.0.0
Qué es servicrab
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Servicrab es un supervisor de procesos escrito en Rust diseñado para orquestar stacks de desarrollo local, entornos de homelab y servidores pequeños. Se posiciona como una alternativa ligera a herramientas como Overmind o Honcho, ofreciendo un único binario con configuración declarativa mediante archivos TOML.
La herramienta permite definir servicios con dependencias entre sí, políticas de reinicio configurables (siempre, en caso de fallo, nunca), y mecanismos de comprobación de salud vía comandos, HTTP o TCP. Incluye capacidades avanzadas como watch mode para reiniciar servicios al detectar cambios en sus fuentes, captura de logs por servicio con rotación basada en tamaño, y un daemon de fondo con protocolo JSON sobre socket Unix.
Su enfoque es la simplicidad y el control: no utiliza shell por defecto (evitando interpretaciones inesperadas), respeta variables de entorno mediante sustitución `${VAR}` en campos de cadena, y permite integración con sistemas de inicialización como systemd o launchd. La validación estricta de la configuración asegura que los errores se detecten antes del arranque.
- Orquestar stacks de desarrollo local con múltiples servicios (ej. API + Base de datos) en un solo binario.
- Gestionar homelabs o servidores pequeños sin necesidad de Docker ni Kubernetes, usando procesos nativos.
- Automatizar despliegues mediante watch mode para reinicios automáticos al cambiar código fuente.
- Capturar y rotar logs de cada servicio individualmente para facilitar el debugging en producción.
- Escrito en Rust con compilación estática, garantizando un único binario portable sin dependencias externas.
- Soporte nativo para dependencias entre servicios y orden de inicio determinista basado en grafo.
- Mecanismo de watch mode con debounce para reinicios automáticos al detectar cambios en archivos fuente.
- Protocolo JSON sobre socket Unix documentado para integración con scripts o dashboards externos.
- Validación estricta de configuración (servicrab check) que reporta violaciones antes del arranque.
- Integración directa con sistemas de inicialización (systemd, launchd) mediante generación de unit files.
- No compatible con Windows en tiempo de ejecución; la compilación funciona pero los puntos de entrada fallan.
- No soporta Docker ni Compose nativamente; debe ejecutarse sobre procesos nativos del sistema operativo.
- La configuración es estricta y no permite shell por defecto, lo que exige escapar caracteres manualmente si se desea.
- Variables de entorno solo sustituyen en campos de tipo cadena; tipos numéricos o booleanos no admiten interpolación.
- Requiere Rust 1.85+ para compilación desde fuente; las binarias precompiladas dependen del sistema operativo.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Despliegue recomendado mediante binarios precompilados de la página de releases (tarballs por plataforma). Instalar en /usr/local/bin y man pages en /usr/local/share/man. Para producción, usar --wait al iniciar para asegurar que todos los servicios estén listos antes de continuar. Integrar con systemd usando servicrab generate systemd para reinicios automáticos del daemon principal.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
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.