djevops: despliega aplicaciones Django en un VPS Linux sin usar Docker

Fuentes: djevops: deploy Django apps to a Linux VPS without Docker

djevops es una herramienta de línea de comandos pensada para simplificar el despliegue de aplicaciones web Django en un servidor privado virtual (VPS) con Ubuntu o Debian. A diferencia de otras soluciones del mercado, no recurre a Docker, lo que permite llevar los cambios a producción en cuestión de segundos tras ejecutar djevops deploy. Frente a Ansible, su especialización en Django reduce de forma significativa la cantidad de código de configuración necesario, a costa de una menor generalidad.

El flujo de trabajo arranca con la instalación local mediante pip install djevops y la ejecución de djevops init dentro del repositorio Git de la aplicación Django. El comando genera un archivo de configuración declarativo (deploy/djevops.yml) en el que se declaran el servidor, la rama del repositorio y los servicios (web, base de datos, correo, Redis, Celery). La mayoría de los valores son opcionales; basta con completar los imprescindibles y lanzar el despliegue. Los secretos, como DJANGO_SECRET_KEY o contraseñas SMTP, se definen en deploy/secrets.py, que no se sube al repositorio.

Entre sus características destaca la generación y renovación automática de certificados SSL para los dominios listados en ALLOWED_HOSTS, el envío de correos de error a los ADMINS definidos en Django cuando DEBUG es False, las copias de seguridad continuas en S3 o Azure mediante Litestream (SQLite) o pg_dump (PostgreSQL), y la rotación y compresión de logs en /var/log. También instala Redis, configura un worker de Celery con su programador beat, aplica actualizaciones automáticas del sistema operativo (sin saltos de versión mayor) y permite acceder al shell remoto de Django con djevops shell. Cada servicio se ejecuta como usuario independiente para evitar fugas de variables de entorno entre procesos.