El ecosistema de plataformas de despliegue en la nube vive una transformación. A la popularidad de soluciones SaaS como Vercel, Render o Netlify, se suma ahora una propuesta distinta: /dev/push, un proyecto open source y autoalojable que busca ofrecer a desarrolladores y empresas el control total sobre sus despliegues.
Creado por la comunidad y distribuido bajo licencia MIT, /dev/push se presenta como una alternativa ligera pero completa para gestionar aplicaciones modernas en entornos propios, sin depender de terceros y con la flexibilidad que ofrece Docker.
Despliegues automáticos y cero tiempo de inactividad
El corazón de /dev/push es su enfoque en los despliegues basados en Git: basta con realizar un push a GitHub para lanzar una nueva versión de la aplicación con actualizaciones en caliente y rollbacks instantáneos.
Esto lo convierte en una herramienta útil tanto para proyectos personales como para equipos profesionales que necesitan procesos CI/CD simples pero fiables.
Características principales
- Compatibilidad multi-lenguaje: actualmente soporta Python y Node.js (en beta), con soporte para PHP y Ruby on Rails en el roadmap. Al funcionar sobre Docker, cualquier stack puede adaptarse.
- Gestión de entornos: permite asignar ramas a entornos (staging, producción, etc.) y manejar variables de entorno encriptadas.
- Monitorización en tiempo real: acceso a logs de compilación y ejecución con búsqueda en vivo gracias a la integración con Loki.
- Colaboración en equipo: control de acceso basado en roles, invitaciones y permisos.
- Dominios personalizados: soporte nativo para dominios propios y certificados SSL automáticos con Let’s Encrypt.
- Autoalojado y open source: se ejecuta en servidores propios, dando independencia frente a proveedores externos.
Arquitectura técnica
La plataforma está construida sobre una pila moderna:
- FastAPI para la lógica de la aplicación.
- PostgreSQL como base de datos.
- Redis para colas de trabajo con arq.
- Traefik como proxy inverso y gestor de certificados SSL.
- Loki para la recolección y consulta de logs.
- Docker & Compose como base de ejecución y orquestación de contenedores.
Gracias a este diseño modular, /dev/push es ligero pero escalable, capaz de adaptarse a un único servidor o integrarse en entornos más complejos como Docker Swarm.
Despliegue en un servidor Linux
Uno de los puntos fuertes de /dev/push es su facilidad de instalación en servidores propios. Está pensado para Ubuntu/Debian, aunque puede funcionar en otras distribuciones.
Instalación rápida con script oficial
En un servidor limpio, basta con ejecutar:
curl -fsSL https://raw.githubusercontent.com/hunvreus/devpush/main/scripts/prod/install.sh | sudo bash
Este script instala Docker, crea el usuario de servicio, descarga los contenedores y genera la estructura de directorios.
Luego se edita el archivo .env
para definir variables críticas como:
LE_EMAIL
(correo para certificados SSL)APP_HOSTNAME
(dominio de la consola, ej.app.midominio.com
)DEPLOY_DOMAIN
(dominio base para despliegues, ej.*.midominio.dev
)- Configuración de la app de GitHub (App ID, claves, secretos, etc.)
Finalmente, se inicia el servicio:
scripts/prod/start.sh --migrate
La interfaz quedará disponible en https://APP_HOSTNAME
.
Instalación manual con Docker Compose
Para quienes quieran más control, también se puede levantar el stack con docker compose
definiendo servicios para PostgreSQL, Redis, Traefik, Loki y la propia aplicación.
Este enfoque permite personalizar límites de recursos, rutas de volúmenes o integrar la plataforma en infraestructuras existentes.
Integración con GitHub
Para habilitar el despliegue automático, es necesario crear una GitHub App con permisos de lectura/escritura sobre repositorios y despliegues. Entre las configuraciones obligatorias se incluyen:
- URLs de callback y webhook hacia
/api/github/*
. - Permisos sobre issues, pull requests, contenidos y commits.
- Eventos suscritos: instalación, push y repositorio.
Con esto, cada push a la rama asignada se traduce en un despliegue inmediato en el entorno correspondiente.
Un paso más en el movimiento soberano
El lanzamiento de /dev/push encaja en la tendencia creciente hacia el auto-hosting y la soberanía tecnológica. Frente a servicios gestionados que ofrecen comodidad pero implican cesión de control y dependencia, esta plataforma apuesta por un equilibrio: simplicidad en la experiencia del desarrollador, pero bajo control total de la infraestructura.
FAQ
¿Qué diferencia a /dev/push de Vercel o Render?
La principal diferencia es que /dev/push es autoalojado y open source. No dependes de un proveedor externo, sino que lo ejecutas en tus propios servidores con Docker.
¿Puedo usarlo con cualquier lenguaje de programación?
Sí, siempre que pueda ejecutarse en Docker. Actualmente existen runners oficiales para Python y Node.js, y próximamente para PHP y Ruby on Rails.
¿Qué requisitos mínimos necesito para instalarlo?
Un servidor Linux (Ubuntu/Debian recomendado), con al menos 2 vCPUs, 4 GB de RAM y Docker instalado. Para producción se recomiendan instancias de gama media como un CPX31 de Hetzner.
¿Cómo se gestionan los certificados SSL?
Traefik, integrado en la arquitectura, gestiona automáticamente certificados Let’s Encrypt tanto para el panel de control como para los dominios de despliegue (*.DEPLOY_DOMAIN
).