El reto: que un cambio publicado en GitHub llegue a producción de forma automática y verificable, sin abrir ningún canal entrante de administración. Es el servidor quien inicia las conexiones salientes. Nunca al revés.
El único punto de contacto entre n8n y el sistema es un fichero. n8n no toca Docker, no abre puertos, no ejecuta comandos. Si se comprometiera, lo máximo que lograría es forzar un redespliegue de la propia imagen del proyecto.
Un git push construye la imagen, la publica, notifica al servidor con una petición firmada, este verifica la firma y despliega la nueva versión — sin intervención manual y sin exponer SSH. La prueba definitiva fue una publicación real: el digest de la imagen desplegada difería del de las pruebas manuales, confirmando que se sirvió el artefacto recién construido.