Files

36 KiB

ServerKit — Despliega, gestiona y monitorea servidores

ServerKit

Despliega, gestiona y monitorea servidores.

Un panel de control de servidores ligero y moderno para gestionar aplicaciones web, bases de datos, contenedores Docker y seguridad — sin la complejidad de Kubernetes ni el coste de las plataformas gestionadas.

English | Español | 中文版 | Português


Linux Docker Discord Ver la demo

jhd3197/ServerKit | Trendshift Uneed POTD3 Badge

GitHub Stars Downloads Docker Pulls License Python React Flask Nginx Let's Encrypt


Inicio Rápido · Guía en video · Capturas · Funcionalidades · Arquitectura · Hoja de Ruta · Documentación · Contribuir · Discord


Guía en video

Elige una plantilla o usa tu propio código. Mira ambas formas de desplegar en YouTube.

De una plantilla a una app en funcionamiento Cualquier repositorio Git en 3 pasos
De una plantilla a una app en funcionamiento

Despliega AgentSite desde el catálogo de plantillas, comprueba la capacidad y sigue la compilación en directo.

▶ Ver en YouTube · 4:16

Catálogo · Panel de despliegue · Capacidad · Compilación en directo

Cualquier repositorio Git en 3 pasos

Conecta un repositorio Git, revisa la configuración detectada y despliega con el asistente de nuevo servicio.

▶ Ver en YouTube · 3:45

Fuentes · Conectar repositorio · Revisar configuración · Despliegue automático


📊 En Números

Instantánea: 2026-09-05. Definiciones, medidas y comandos para reproducirlas.

1.212 declaraciones de rutas del núcleo en 104 declaraciones de blueprints de backend/app/api; inventario del código, sin extensiones
118 plantillas de apps incluidas archivos YAML de apps en el directorio raíz; las plantillas de extensiones de bases de datos se cuentan aparte
5.089 casos de prueba de backend recopilados recopilación de un checkout limpio; no significa que todos se hayan ejecutado o aprobado
3,31 MB de JS/CSS en total, comprimido con gzip incluye módulos diferidos, idiomas y adaptadores de dependencias; excluye fuentes e imágenes
$0 de licencia Licencia MIT, sin suscripciones ni tarifas por usuario

Los valores gzip suman archivos comprimidos por separado a nivel 9; no son tiempos de carga medidos. La RAM y el tamaño de imagen dependen de la compilación, plataforma y carga de trabajo.


🚀 Inicio Rápido

El tiempo de instalación depende del servidor, la red y los paquetes necesarios.

Opción 1: Instalación en Una Línea (Recomendada)

curl -fsSL https://serverkit.ai/install.sh | bash

Funciona en Ubuntu 22.04+, Debian 12+, Fedora y RHEL/Rocky/AlmaLinux 9+. Configura todo automáticamente.

Opcional: PANEL_DOMAIN=panel.example.com establece el dominio e intenta obtener un certificado de Let's Encrypt; SERVERKIT_OFFLINE_TARBALL=... instala desde un tarball local.

Actualización

sudo serverkit update

Actualización atómica blue/green con comprobaciones previas, copia de seguridad de la base de datos, migración y rollback automático. Usa --dry-run para previsualizar, --branch dev para compilaciones de desarrollo o --release [versión] para tarballs de release.

Opción 2: Docker

git clone https://github.com/jhd3197/ServerKit.git
cd ServerKit
cp .env.example .env       # luego edita .env con tus claves
docker compose up -d       # accede en http://localhost:5000

Ejecuta el panel como un único contenedor. Ten en cuenta que un panel en contenedor no puede administrar su propio host — sin systemd, sin nginx del host, sin vhosts de sitios gestionados; para eso usa la Opción 1. No incluye nginx y nunca redirige a HTTPS, así que es el destino ideal para poner tu propio proxy inverso delante — consulta Ejecutar detrás de tu propio proxy inverso.

Opción 3: Instalación Manual

Consulta la Guía de Instalación para instrucciones paso a paso.

Requisitos

Mínimo Recomendado
SO Ubuntu 22.04+ · Debian 12+ · Fedora · RHEL/Rocky/AlmaLinux 9+ Ubuntu 24.04 LTS
Arquitectura x86_64 · ARM64 x86_64 · ARM64
CPU 1 vCPU 2+ vCPU
RAM 1 GB 2+ GB
Disco 10 GB 20+ GB
Docker 24.0+ (opcional para el panel) Última versión

Estos requisitos orientan el dimensionamiento; no son una prueba de capacidad. Reserva RAM y disco adicionales para apps, imágenes, bases de datos, registros y copias de seguridad. Consulta la guía de medición para medir tu carga de trabajo.


📸 Capturas de Pantalla

Capturadas desde una compilación de demostración con datos ficticios — todos los nombres de host, IP, dominios y métricas que se ven a continuación son inventados.

Panel Principal Servicios
Panel Principal Servicios
Métricas del servidor en vivo, tarjetas KPI y actividad reciente Aplicaciones estáticas, Node.js, Python, PHP y Docker
Docker WordPress
Docker WordPress
Contenedores, imágenes, volúmenes y redes con CPU/RAM en vivo Estado por sitio, Acciones Rápidas y comprobaciones de salud en vivo
Flota de Agentes Marketplace
Flota de Agentes Marketplace
Salud de la flota, despliegues de versiones y cola de comandos Plantillas de aplicaciones en un clic y extensiones instalables
Monitorización Seguridad
Monitorización Seguridad
Indicadores en vivo, reglas de alerta y canales de notificación Puntuación de postura, ClamAV, integridad de archivos, firewall, Fail2Ban
Ver todas las capturas
Asistente de IA Detalle de Servicio
Asistente de IA Detalle de Servicio
Asistente impulsado por Prompture que ejecuta herramientas sobre tu infraestructura Despliegues, conexión con Git, uso en vivo, logs y ajustes
Bases de Datos Consola SQL
Bases de Datos Consola SQL
Explorador de MySQL / PostgreSQL / SQLite con árbol de orígenes Ejecuta SQL desde el navegador con una tabla de resultados tipada
Dominios Zonas DNS
Dominios Zonas DNS
Estado SSL, seguimiento de caducidad y renovación automática Cloudflare, Route 53, DigitalOcean — edición completa de registros
Copias de Seguridad Correo
Copias de Seguridad Correo
Copias programadas con sincronización a S3/B2 y restauración en un clic Postfix, Dovecot, OpenDKIM, SpamAssassin y Roundcube
Tareas Programadas Gestor de Archivos
Tareas Programadas Gestor de Archivos
Editor visual de cron con horarios legibles por humanos Navega, edita y sube archivos con uso de disco por punto de montaje
Logs y Terminal Servidores
Logs y Terminal Servidores
Visor de logs, lista de procesos, journald y sesiones SSH Todos los servidores en un panel con telemetría de CPU/RAM/disco en vivo
Acceso Remoto Ajustes
Acceso Remoto Ajustes
Expón públicamente servicios tras NAT mediante agentes emparejados con WireGuard Perfil, apariencia/marca, usuarios y conexiones
Inicio de Sesión
Inicio de Sesión
Acceso con email/contraseña, con soporte para SSO y 2FA

🎯 Funcionalidades

El núcleo está completo. Las nuevas capacidades se distribuyen como extensiones instalables desde el Marketplace integrado — el núcleo se mantiene ligero y estable, y el trabajo en curso se centra en pulir la UI y corregir lo que reporta la comunidad.

🚀 Aplicaciones y Despliegue

WordPress en Un Clic
Sitios PHP-FPM 8.x publicados en subdominios reales, con vistas previas mediante intercambio de URL, dominios personalizados y HTTPS comodín.
Cualquier Stack
Flask/Django sobre Gunicorn, Node.js sobre PM2, sitios estáticos — desde Git, Docker, una ruta manual o la subida de un zip.
Docker y Compose
Detección de actualizaciones de imagen con aplicación en un clic, suspensión automática de contenedores inactivos, autoescalado según la CPU, logs en vivo y acceso a terminal.
Marketplace
Más de 100 plantillas de aplicaciones en un clic sobre un esquema declarativo con secretos, hosts y URLs resueltos automáticamente — nada codificado a mano.
Build Packs
Despliegues sin Dockerfile: inspecciona un repositorio y genera un Dockerfile + compose a partir de un plan de compilación.
Automatizaciones
Automatización visual basada en nodos para tareas, despliegues y CI/CD — disparadores por cron, webhook y eventos, ejecutándose en un contenedor gestionado. Se distribuye como extensión.
Vistas Previas e Instantáneas
Entornos de vista previa efímeros para PRs, además de instantáneas de configuración inmutables y con secretos enmascarados, con diff y restauración en un clic.
Proyectos y Entornos
Agrupación Espacio de trabajo → Proyecto → Entorno, y un flujo de WordPress prod/staging/dev con promoción de código y base de datos.

🏗️ Infraestructura

Dominios y SSL
Hosts virtuales Nginx, Let's Encrypt automático con renovación, TLS 1.2+/AEAD reforzado, configuraciones compatibles con Cloudflare y CAA automático.
Zonas DNS
Gestión completa de registros en Cloudflare, Route 53 y DigitalOcean — comprobaciones de propagación y DNS dinámico para IPs cambiantes.
Bases de Datos
MySQL/MariaDB y PostgreSQL con gestión de usuarios, un árbol de orígenes en vivo y una consola SQL en el navegador.
Aprovisionamiento en la Nube
Levanta servidores en DigitalOcean, Hetzner, Vultr y Linode con seguimiento de costes.
Centro de Conexiones
Proveedores Git, nubes, DNS, registradores, relés SMTP y almacenamiento S3/B2 — todas las cuentas externas en un solo lugar, cifradas en reposo.
Copias de Seguridad
Copias programadas de aplicaciones, bases de datos y archivos hacia S3, B2 o local, con políticas de retención, restauración en un clic y cifrado opcional en el cliente.
Archivos, FTP y Cron
Gestor de archivos web con navegación de buckets S3/B2, gestión de usuarios de vsftpd y un editor visual de cron.
Servidor de Correo
Postfix + Dovecot con DKIM/SPF/DMARC, SpamAssassin, webmail Roundcube y reglas de reenvío.

🔒 Seguridad

Firewall de Aplicaciones Web
ModSecurity v3 + OWASP Core Rule Set por aplicación, con modos de detección/bloqueo y paranoia ajustable.
Passkeys y 2FA
Inicio de sesión sin contraseña con WebAuthn (llaves de hardware, Touch ID, Windows Hello) más TOTP con códigos de respaldo.
Malware e Integridad
Análisis con ClamAV y cuarentena, monitorización de integridad de archivos y auditorías de vulnerabilidades con Lynis.
SSH y Refuerzo
Fail2ban, gestión de claves SSH, listas de IPs permitidas/bloqueadas y actualizaciones de seguridad automáticas del sistema.
Análisis de Contenedores
Análisis de CVE por imagen con grype y generación de SBOM con syft.
Secretos Cifrados
Credenciales de proveedores y secretos sellados con Fernet, además de una pasarela de webhooks entrantes para automatización externa.

🖥️ Multi-Servidor

Agente Multiplataforma
Agente en Go para Linux, Windows y macOS — autenticación HMAC-SHA256 sobre una pasarela WebSocket en tiempo real. Servicio nativo de Windows + MSI, .deb/.rpm, ARM64. Más →
Gestión de Flota
Inventario, cola de aprobación, despliegues escalonados de versiones, descubrimiento automático en LAN y una cola de comandos sin conexión.
Enrolamiento Sencillo
Emparejamiento con código corto y verificación de huella o tokens precompartidos; las credenciales del host se almacenan cifradas con AES-GCM. Más →
Monitor de Flota
Mapas de calor entre servidores, comparación de métricas, umbrales de alerta, detección de anomalías y previsión de capacidad.
Plantillas de Servidor
Plantillas de estado esperado con detección de desviaciones, paneles de cumplimiento y auto-remediación.
Túneles de Acceso Remoto
Expón un servicio privado o tras NAT a través de un servidor de borde mediante WireGuard gestionado por el agente — sin redirección de puertos.
Onboarding Guiado
Validar → prerrequisitos → Docker → emparejar agente, con un registro de progreso en vivo.
Proxy por Servidor
Traefik o Caddy dockerizados y opcionales por servidor, con vista previa del compose; el nginx del host sigue siendo el predeterminado.

📊 Monitorización y Alertas

Métricas en Tiempo Real
CPU, RAM, disco y red vía WebSocket, con retención histórica y seguimiento de disponibilidad.
Monitorización de GPU
Utilización, memoria y temperatura de NVIDIA, con uso por proceso y por contenedor.
Páginas de Estado
Páginas públicas con comprobaciones HTTP/TCP/DNS/Ping, monitorización de componentes y gestión de incidentes.
Notificaciones
Discord, Slack, Telegram, email HTML y webhooks — canales por usuario, filtros de severidad y horas de silencio.

👥 Equipo y Acceso

Espacios de Trabajo
Aislamiento multi-inquilino con cuotas y gestión de miembros.
RBAC
Roles de administrador/desarrollador/observador con permisos granulares de lectura/escritura por funcionalidad.
SSO y OAuth
Google, GitHub, OpenID Connect y SAML 2.0 con vinculación de cuentas.
Claves de API
Claves por niveles con limitación de tasa, ámbitos detallados, analíticas de uso y documentación OpenAPI.
Registro de Auditoría
Cada acción de usuario queda registrada, con un panel de actividad detallado.
Webhooks y Configuración Compartida
Suscripciones salientes con firmas HMAC y reintentos, además de etiquetas y grupos de variables compartidos.

🎨 Personalización

Ligero por Defecto
El asistente de configuración instala solo las extensiones que encajan con tus casos de uso — añade más cuando quieras desde el Marketplace.
Presets de Barra Lateral
Vistas Completa, Hosting Web, Administración de Correo, DevOps o Mínima, con grupos plegables y diseños por usuario.
Tu Marca
8 colores de acento predefinidos más un selector hexadecimal personalizado, y logotipo, nombre o banner de marca blanca.
Widgets del Panel
Activa y reordena widgets para adaptarlos a tu flujo de trabajo.

🏗️ Arquitectura

Arquitectura de ServerKit: los clientes y visitantes públicos llegan a una capa de borde nginx que dirige el tráfico del panel a la API de Flask y el tráfico público a los contenedores de aplicaciones; el panel de ServerKit contiene la SPA de React, la API REST, la pasarela de agentes Socket.IO, los servicios, modelos, trabajos, notificaciones y el runtime de extensiones; una capa de runtime en el mismo servidor alberga los contenedores Docker de aplicaciones, las bases de datos y el estado del panel; una flota remota de agentes en Go se conecta de vuelta a través del namespace /agent.

Nginx termina TLS y divide el tráfico en dos: las peticiones del panel van a la API de Flask y todo lo demás se redirige al contenedor Docker que sirve ese dominio. El panel mantiene su propio estado en SQLite o PostgreSQL, ejecuta trabajo en segundo plano mediante un planificador de tareas y un bus de notificaciones, y carga funcionalidad opcional desde el runtime de extensiones. Los servidores remotos se gestionan con un agente en Go que se conecta de vuelta a través de un namespace de Socket.IO.

Ver como diagrama ASCII
                          ┌──────────────────┐
                          │     INTERNET     │
                          └────────┬─────────┘
                                   │
                                   ▼
┌──────────────────────────────────────────────────────────────────────────┐
│                            YOUR SERVER                                    │
│                                                                           │
│  ┌─────────────────────────────────────────────────────────────────────┐ │
│  │                      NGINX (Reverse Proxy)                          │ │
│  │                         :80 / :443                                  │ │
│  │                                                                     │ │
│  │    app1.com ──┐   app2.com ──┐   api.app3.com ──┐   /api/v1/ ──┐   │ │
│  └───────────────┼──────────────┼──────────────────┼──────────────┼────┘ │
│                  │ proxy_pass   │ proxy_pass       │ proxy_pass   │      │
│                  ▼              ▼                  ▼              │      │
│  ┌────────────────────────────────────────────────────────────┐  │      │
│  │                    DOCKER CONTAINERS                       │  │      │
│  │                                                            │  │      │
│  │    ┌───────────┐    ┌───────────┐    ┌───────────┐        │  │      │
│  │    │ WordPress │    │   Flask   │    │  Node.js  │  ...   │  │      │
│  │    │   :8001   │    │   :8002   │    │   :8003   │        │  │      │
│  │    └─────┬─────┘    └───────────┘    └───────────┘        │  │      │
│  └──────────┼─────────────────────────────────────────────────┘  │      │
│             │                                                     ▼      │
│             │                        ┌─────────────────────────────────┐ │
│             │                        │       SERVERKIT PANEL           │ │
│             │                        │   React SPA · Flask REST API    │ │
│             │                        │   Socket.IO · Jobs · Notify     │ │
│             │                        │   Extension runtime             │ │
│             │                        │   Gunicorn -w 1 (threaded)      │ │
│             │                        └────────────────┬────────────────┘ │
│             ▼                                         │                  │
│  ┌──────────────────────────────────┐   ┌─────────────▼────────────────┐ │
│  │            DATABASES             │   │        PANEL STATE           │ │
│  │  MySQL :3306   PostgreSQL :5432  │   │  SQLite (default) or         │ │
│  │  Redis :6379   MongoDB :27017    │   │  PostgreSQL · Alembic        │ │
│  └──────────────────────────────────┘   └──────────────────────────────┘ │
└───────────────────────────────────────────────────────┼──────────────────┘
                                                        │
                          Socket.IO /agent (HMAC)       │
                          + HTTP long-poll fallback     ▼
                       ┌──────────────────────────────────────┐
                       │   REMOTE SERVERS — Go agent fleet    │
                       │   server A  ·  server B  ·  server C │
                       └──────────────────────────────────────┘

Ver Documentación Completa de Arquitectura → — Flujo de peticiones, plataforma de extensiones, sistema de plantillas, asignación de puertos, trabajos, notificaciones y la flota de agentes.


🗺️ Hoja de Ruta

El núcleo de ServerKit está completo — todas las fases previstas del núcleo se han entregado, desde la primera infraestructura Flask + React hasta las flotas multi-servidor, SSO, el motor de automatización y el marketplace de extensiones.

El desarrollo ocurre ahora en dos frentes:

  • 🧩 Extensiones — la nueva funcionalidad se distribuye como extensiones instalables desde el Marketplace (más de 100 plantillas en un clic y creciendo). El núcleo se mantiene ligero; instalas solo lo que necesitas.
  • ✨ Pulido del núcleo — refinamientos continuos de UI/UX y correcciones de problemas reportados por la comunidad. No hay nuevas funcionalidades de núcleo planificadas.

Historial completo: ROADMAP.md


📖 Documentación

Documento Descripción
Arquitectura Diseño del sistema, flujo de peticiones, diagramas
Guía de Instalación Instrucciones completas de configuración
Guía de Despliegue Comandos CLI y despliegue en producción
Agente Instala y ejecuta el agente multi-servidor (Linux/Windows/macOS) — repositorio aparte
Emparejamiento del Agente Enrolamiento seguro del agente con código corto
Referencia de la API Endpoints de la API REST
Nuevas Funcionalidades Referencia de endpoints y páginas de las últimas funcionalidades de dev
Mejoras Guía de las diez capacidades de experiencia de desarrollo, equipo/escala, flota y seguridad
Registro de Cambios Historial de versiones y cambios destacados
Hoja de Ruta Hoja de ruta de desarrollo y funcionalidades planificadas
Contribuir Cómo contribuir

🧱 Stack Tecnológico

Capa Tecnología
Backend Python 3.11, Flask, SQLAlchemy, Flask-SocketIO, Flask-Migrate
Frontend React 18, Vite, SCSS, Recharts
Base de Datos SQLite / PostgreSQL
Servidor Web Nginx, Gunicorn (worker único con hilos — -w 1 --threads N)
Contenedores Docker, Docker Compose
Seguridad ClamAV, Lynis, Fail2ban, ModSecurity v3 + OWASP CRS, grype, syft, TOTP (pyotp), cifrado Fernet
Autenticación JWT, OAuth 2.0, OIDC, SAML 2.0, WebAuthn / passkeys
Correo Postfix, Dovecot, SpamAssassin, Roundcube
Agente Go (multi-servidor), HMAC-SHA256, WebSocket

🤝 Contribuir

¡Las contribuciones son bienvenidas! Por favor, lee primero CONTRIBUTING.md.

fork → feature branch → commit → push → pull request

Áreas prioritarias: Extensiones para el Marketplace, mejoras de UI/UX, documentación, cobertura de tests.


💛 Apoya a ServerKit

ServerKit es libre y de código abierto. Si te ahorra tiempo, puedes ayudar a mantenerlo en marcha:

💎 Criptomonedas

Activo Red Dirección
Código QR de la dirección de donación USDT TRC-20 USDT TRC-20 · Tron TTiCtqLauF1iSW2YGB3b78KmRxRqoLCgeL
Código QR de la dirección de donación USDT y ETH ERC-20 USDT / ETH ERC-20 · Ethereum 0xD13D5355Fa214e8317fea2ff192a065BaeC13527
Código QR de la dirección de donación de Bitcoin BTC Bitcoin bc1qatx67n3qxdvuv3arc9j8aytk34f22g02k9c7vr
Código QR de la dirección de donación de Solana SOL Solana AWXzqtBEgUfteHPQtDegsZ6D5y57M3GGdKPD8rR7h6xu

TRC-20 tiene las comisiones más bajas — normalmente menos de un dólar — así que es la opción más cómoda para una donación pequeña. El gas de ERC-20 puede costar más que la propia donación.

Los códigos QR se generan localmente con scripts/generate-funding-qr.mjs, que valida la suma de verificación de cada dirección antes de codificarla.


🔭 Proyectos Relacionados

Faro — Un cliente de escritorio moderno para SFTP, FTP, SSH y almacenamiento compatible con S3, del mismo autor. Guarda un servidor una vez y luego explora sus archivos en una vista de doble panel y abre una terminal sobre la misma sesión SSH — además de transferencias con arrastrar y soltar, sincronización de directorios en un sentido y edición in situ. Incluso tiene un Agent Bridge que permite a Claude Code (o cualquier agente MCP) ejecutar comandos en un servidor a través de tu sesión autenticada, con aprobación por comando y sin compartir credenciales.

ServerKit gestiona tus servidores desde el navegador; Faro es el compañero de escritorio para transferencias de archivos, shells y trabajo puntual en todos tus servidores. Descarga una versión →

LocalKit — Levanta sitios WordPress locales en un clic. Cada sitio se ejecuta como su propio proyecto aislado de Docker Compose, y puedes enviar código o enviar/traer bases de datos directamente a tu servidor ServerKit mediante la extensión serverkit-localkit.

DeviceKit — Una plataforma unificada de flota de dispositivos Android y automatización de pruebas. Controla una flota de dispositivos desde un solo panel — ejecuta automatizaciones, transmite pantallas en tiempo real, detecta regresiones visuales y depura fallos con análisis asistido por IA. Vela — Tu servidor personal de aplicaciones. Instala, ejecuta y gestiona aplicaciones locales desde un solo panel en el navegador mientras tus aplicaciones, ajustes y datos permanecen en tu propia máquina — con versiones autoactualizables en Windows, macOS y Linux, además de una PWA para iOS. ¿Ya usas ServerKit? Importa el serverkit.yaml del repositorio como un nuevo servicio y se despliega de una vez.


💬 Comunidad

Discord

Únete al Discord para hacer preguntas, compartir comentarios u obtener ayuda con tu configuración.


ServerKit — Simple. Moderno. Autoalojado.

Reportar un Error · Solicitar una Funcionalidad

Hecho con ❤️ por Juan Denis