docs Introducción
Introducción
Todo lo que necesitas saber sobre DeployKit y cómo funciona.
¿Qué es DeployKit?
DeployKit es una PaaS (Platform as a Service) autoalojada y de código abierto que despliega aplicaciones, bases de datos, stacks de Compose y servidores de juegos en tu propia infraestructura. Piensa en ella como tu propio Vercel o Heroku, con control total sobre tus datos, sin dependencia de un proveedor y sin límites de uso. Por debajo es simplemente Docker, Compose y Traefik: si desinstalas DeployKit, tus contenedores siguen funcionando.
Esta documentación cubre DeployKit v0.6.0.
Características principales
Aplicaciones
Despliega desde GitHub, GitLab, cualquier repositorio Git o una imagen de Docker, con rollbacks, réplicas, autoescalado y modo mantenimiento
Builds con autodetección
Nixpacks, Dockerfile o Cloud Native Buildpacks, con escaneo opcional de vulnerabilidades con Trivy
Bases de datos
PostgreSQL, MySQL, MariaDB, MongoDB y Redis con un clic, con backups programados y restauración
Stacks de Compose y plantillas
Ejecuta un docker-compose.yml completo como una unidad, o instala uno desde el catálogo de plantillas de un clic
Servidores de juegos
Minecraft, Valheim, CS2 y Terraria desde un catálogo, con consola en vivo, gestor de archivos, backups de mundos y mods
GitHub App
Repositorios privados sin tokens personales, estados de commit en cada despliegue y previews de PR
Webhooks y previews
Despliegue automático al hacer push desde GitHub, GitLab o cualquier CI, además de entornos efímeros para pull requests
SSL automático
Certificados HTTPS gratuitos con Let's Encrypt + Traefik para cada dominio
Tareas programadas
Tareas cron y comandos puntuales (migraciones, scripts) en contenedores aislados
Monitorización y alertas
Métricas de CPU, memoria y red en vivo e históricas, reglas de alerta y logs persistentes con búsqueda
Páginas de estado
Una página pública, sin inicio de sesión, que muestra el estado en vivo y la disponibilidad de los servicios que elijas
Exportar e importar
Toda tu instancia en un archivo YAML: revísalo en git o reconstruye todo en un servidor nuevo
Servidores remotos
Despliega en otras máquinas por SSH, con un catálogo gestionado de claves SSH
Acceso basado en roles
Roles de Admin, Operator y Viewer con permisos por proyecto y un registro de auditoría completo
Notificaciones
Alertas por Discord, Slack, Telegram, Email y Webhook
Arquitectura
DeployKit es un plano de control: un panel y una API que manejan el daemon de Docker de una o más máquinas. No ejecuta tus aplicaciones dentro de sí mismo — le dice a Docker que las ejecute. Una instalación de producción ejecuta estos contenedores:
- API — Fastify 5 + tRPC 11, Drizzle ORM, workers de BullMQ y Socket.IO. Monta el socket de Docker del host para construir imágenes y crear contenedores, y es el único componente que habla con la base de datos y con Docker
- Web — SPA en React 19 (TanStack Router, TanStack Query, Tailwind CSS) servida en el mismo dominio que la API
- Traefik v3.6 — Reverse proxy en los puertos 80/443. Descubre los contenedores por sus labels y emite los certificados de Let's Encrypt. Lee Docker a través de un socket proxy de solo lectura, nunca el socket directamente
- PostgreSQL 16 — Almacena toda la configuración, usuarios, proyectos, historial de despliegues, métricas y datos de auditoría
- Redis 7 — Protegido con contraseña. Contiene las colas de BullMQ (despliegues, backups, tareas programadas), los refresh tokens y los contadores de rate limit
- Docker socket proxy — API de Docker de solo lectura para Traefik, en una red interna a la que solo Traefik puede acceder
Tus aplicaciones, bases de datos y stacks se unen a la red de Docker deploykit-network , donde Traefik enruta hacia ellos. Los servidores de juegos se ejecutan en una red aparte, deploykit-games, y los jugadores se conectan directamente a sus puertos. Los despliegues y los backups se encolan y los procesan los workers; el panel sigue el progreso en tiempo real mediante Socket.IO.
Requisitos del sistema
- Servidor Linux (Ubuntu, Debian, familia RHEL o Alpine)
- 1 vCPU como mínimo (se recomiendan 2 o más — la construcción de imágenes consume mucha CPU)
- 1 GB de RAM como mínimo (se recomiendan 2 GB o más; un servidor de Minecraft con mods necesita por sí solo de 4 a 8 GB)
- 10 GB de disco como mínimo (se recomiendan 50 GB o más según las imágenes, datos, backups y mundos de juegos)
- Puertos 80 y 443 abiertos — el puerto 80 es obligatorio aunque todo acabe en HTTPS, porque Let's Encrypt valida a través de él
- Acceso root o sudo
- Node.js 20+ en el servidor, solo para ejecutar el CLI del instalador