DOCKER - N8N
🧩 Implementación de n8n con Docker y PostgreSQL
En esta práctica, implementaremos n8n, una potente herramienta de automatización de flujos de trabajo (workflow automation), utilizando Docker como entorno de despliegue y PostgreSQL como base de datos principal. A través de esta configuración, aprenderemos a gestionar de forma estructurada las variables de entorno mediante un archivo .env, así como a automatizar la preparación del entorno con un script setup.sh que definirá las credenciales y configuraciones necesarias para el correcto funcionamiento de la plataforma.
Además, configuraremos el entorno con parámetros adaptados a un entorno de laboratorio, donde deshabilitaremos temporalmente el uso obligatorio de cookies seguras (permitiendo conexiones HTTP), habilitaremos la versión Community Edition (CE) de n8n y activaremos la autenticación en dos pasos (2FA) para fortalecer la seguridad en el acceso a la interfaz administrativa.
🎯 Objetivo de la práctica
-
Implementar n8n dentro de contenedores Docker para lograr una instalación modular y fácilmente gestionable.
-
Configurar PostgreSQL como base de datos persistente para almacenar las configuraciones, flujos y credenciales de n8n.
-
Utilizar un archivo .env para definir variables de entorno de forma centralizada y segura.
-
Automatizar la creación de contraseñas y parámetros con un setup.sh autogenerado.
-
Ajustar las opciones de seguridad y conexión para un entorno controlado de pruebas.
🧠 Introducción al entorno n8n y su arquitectura
⚙️ Configuración mediante .env y setup.sh
🔹 Archivo .env
-
Datos de conexión al servidor de base de datos (usuario, contraseña, host, puerto, nombre de base).
-
Parámetros de acceso al servicio web de n8n (puerto, URL pública, entorno de ejecución).
-
Opciones de seguridad y configuración (cookies, autenticación, etc.).
El uso del archivo .env permite separar la lógica de despliegue de la configuración sensible, facilitando la portabilidad y reduciendo errores manuales durante el proceso de implementación.
🔹 Script setup.sh
Además, este script automatiza la preparación del entorno para Docker Compose, creando los archivos de configuración con los permisos y formatos correctos.
🧱 Integración con PostgreSQL
Durante la práctica, PostgreSQL actuará como la base de datos principal donde n8n almacenará:
-
Los flujos de trabajo creados.
-
Las credenciales encriptadas de conexión a servicios externos.
-
Los logs y metadatos de ejecución de nodos.
Esta integración proporciona persistencia y escalabilidad, lo que permite que los flujos y configuraciones de n8n se mantengan incluso si el contenedor se reinicia o se migra a otro entorno.
🔐 Configuración de seguridad en entorno de laboratorio
Dado que la práctica se realizará en un entorno controlado de laboratorio, se aplicarán ciertos ajustes que faciliten la conexión y prueba del sistema:
-
Deshabilitar cookies seguras (Secure Cookies = false):Esto permitirá conexiones mediante HTTP sin exigir certificados SSL, útil para entornos de desarrollo o pruebas internas.
-
Activar n8n Community Edition (CE):Se habilita la versión gratuita y abierta de la plataforma, ideal para entornos académicos o experimentales.
-
Habilitar la autenticación en dos pasos (2FA):Esta medida refuerza la seguridad en el acceso al panel de administración de n8n, combinando una contraseña con un código temporal (TOTP), incluso en entornos de laboratorio.
Estos ajustes equilibran flexibilidad y seguridad, manteniendo un entorno funcional pero sin comprometer la integridad del sistema.
🔍 Importancia de esta práctica
-
La gestión centralizada de configuraciones con archivos .env.
-
La automatización de despliegues mediante scripts en Bash.
-
El uso de Docker Compose para orquestar múltiples contenedores interconectados.
-
La aplicación de parámetros de seguridad y persistencia de datos en entornos reales.
Además, trabajar con n8n abre la puerta a la creación de flujos de integración entre servicios como APIs REST, plataformas de mensajería, bases de datos, servidores de correo o herramientas DevOps, todo desde una interfaz visual.
✅ Resultados esperados
-
Contenedores Docker de n8n y PostgreSQL correctamente configurados y ejecutándose.
-
Archivo
.envfuncional con todas las variables de entorno definidas. -
Script
setup.shoperativo, generando contraseñas seguras y exportando valores. -
n8n accesible desde el navegador en modo HTTP.
-
Versión CE habilitada y autenticación 2FA activa.
-
Persistencia de los datos en PostgreSQL confirmada tras reinicio de los contenedores.
💡 Aplicación práctica
-
DevOps y administración de contenedores.
-
Seguridad y gestión de credenciales.
-
Integración continua y automatización de procesos.
El resultado final es un sistema modular, seguro y fácilmente replicable, ideal para desarrollar, probar y escalar flujos de trabajo automatizados en redes locales o entornos de producción controlados.

Comentarios
Publicar un comentario