Mostrando las entradas con la etiqueta Docker. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Docker. Mostrar todas las entradas

馃殌 C贸mo configurar tu propia instancia de n8n en un servidor con Docker

En los 煤ltimos a帽os, n8n se ha consolidado como una de las herramientas m谩s potentes y flexibles para la automatizaci贸n de flujos de trabajo. Gracias a su naturaleza open source, es posible instalarlo en un servidor propio y mantener un control total sobre la informaci贸n y la infraestructura.

En este art铆culo aprender谩s a configurar una instancia de n8n en tu servidor utilizando Docker, incluyendo la personalizaci贸n del archivo .env con par谩metros esenciales como base de datos, servidor de correo y zona horaria.

馃寪 Requisitos previos


Antes de comenzar, aseg煤rate de contar con lo siguiente en tu servidor:

- Docker y Docker Compose instalados.
- Un usuario con privilegios de administrador.
- Acceso a un dominio o subdominio (opcional, pero recomendado).
- Conocimientos b谩sicos de Linux.

馃搨 Estructura de archivos


En el directorio de tu proyecto, necesitar谩s al menos dos archivos:

1. docker-compose.yml
2. .env

⚙️ Archivo docker-compose.yml


Este archivo define los servicios necesarios para levantar la instancia de n8n. A continuaci贸n, un ejemplo b谩sico:

version: "3.8"

services:
n8n:
image: docker.n8n.io/n8nio/n8n:latest
container_name: n8n
restart: always
ports:
- "5678:5678"
env_file:
- .env
volumes:
- n8n_data:/home/node/.n8n

volumes:
n8n_data:

馃搼 Configuraci贸n del archivo .env


El archivo .env es fundamental para definir par谩metros como la base de datos, el servidor de correo y la zona horaria. Aqu铆 tienes un ejemplo pr谩ctico:

# Configuraci贸n b谩sica
GENERIC_TIMEZONE=America/Bogota
TZ=America/Bogota

# Configuraci贸n del servidor n8n
N8N_HOST=n8n.midominio.com
N8N_PORT=5678
N8N_PROTOCOL=https

# Configuraci贸n PostgreSQL
DB_TYPE=postgresdb
DB_POSTGRESDB_DATABASE=n8n_db
DB_POSTGRESDB_HOST=localhost
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_USER=n8n_user
DB_POSTGRESDB_PASSWORD=TuClaveSegura
DB_POSTGRESDB_SCHEMA=public

# Configuraci贸n servidor de correo
N8N_EMAIL_MODE=smtp
N8N_SMTP_HOST=smtp.midominio.com
N8N_SMTP_PORT=587
N8N_SMTP_USER=notificaciones@midominio.com
N8N_SMTP_PASS=TuClaveDeCorreo
N8N_SMTP_SENDER=n8n <notificaciones@midominio.com>

# Ejemplo de clave encriptaci贸n
N8N_ENCRYPTION_KEY=GeneraUnaClaveLargaYAleatoria

馃攽 Recomendaciones importantes:

- Usa contrase帽as seguras tanto en la base de datos como en el servidor de correo.
- Si tu servidor expone n8n a internet, aseg煤rate de configurarlo detr谩s de un proxy reverso con SSL (por ejemplo, Nginx + Certbot).
- Cambia la clave de encriptaci贸n por una cadena 煤nica y segura.

▶️ Levantar la instancia


Con ambos archivos listos, solo necesitas ejecutar:

docker-compose up -d

Esto descargar谩 la imagen de n8n, crear谩 los contenedores y montar谩 el servicio en el puerto 5678.

Una vez activo, podr谩s acceder a tu instancia en:

http://<IP_SERVIDOR>:5678
https://n8n.midominio.com (si configuraste dominio)

✅ Conclusi贸n


Con esta configuraci贸n, ya tendr谩s n8n funcionando en tu propio servidor con Docker, completamente personalizado con tu base de datos, servidor de correo y par谩metros de seguridad.

La ventaja de usar Docker es que puedes actualizar, escalar o migrar tu instancia f谩cilmente, sin preocuparte por configuraciones manuales complejas.

Ahora est谩s listo para comenzar a dise帽ar flujos de trabajo automatizados que se adapten a tus necesidades.

 

Docker y Kubernetes: La base de la contenedorizaci贸n moderna

En el mundo actual del desarrollo de software, la portabilidad, escalabilidad y eficiencia son factores esenciales para garantizar aplicaciones seguras y de alto rendimiento. Dentro de este contexto, tecnolog铆as como Docker y Kubernetes se han convertido en pilares fundamentales de la infraestructura moderna.

En este art铆culo exploraremos de forma clara qu茅 son, c贸mo funcionan y por qu茅 resultan tan importantes para desarrolladores, empresas y organizaciones que buscan optimizar sus procesos tecnol贸gicos.

馃惓 ¿Qu茅 es Docker?

Docker es una plataforma dise帽ada para empaquetar, distribuir y ejecutar aplicaciones en contenedores.

馃敡 ¿Qu茅 es un contenedor?

Un contenedor es un entorno ligero y aislado que incluye todo lo necesario para ejecutar una aplicaci贸n:

  • C贸digo fuente

  • Librer铆as

  • Dependencias

  • Configuraci贸n del sistema operativo

La gran ventaja es que la aplicaci贸n se comportar谩 exactamente igual en cualquier entorno, ya sea en desarrollo, pruebas o producci贸n.

馃П ¿C贸mo funciona Docker?

  1. Dockerfile → define c贸mo construir la imagen de una aplicaci贸n.

  2. Imagen Docker → paquete inmutable que contiene la aplicaci贸n con sus dependencias.

  3. Contenedor Docker → instancia en ejecuci贸n de la imagen.

馃搶 Ejemplo: una aplicaci贸n en Node.js con MongoDB puede ejecutarse en dos contenedores distintos: uno para la app y otro para la base de datos, cada uno con su propio entorno.

☸️ ¿Qu茅 es Kubernetes?

Si Docker permite crear y ejecutar contenedores, Kubernetes (tambi茅n conocido como K8s) se encarga de gestionarlos a gran escala.

Originalmente creado por Google, Kubernetes es un orquestador de contenedores que automatiza:

  • El despliegue de aplicaciones.

  • El monitoreo de contenedores.

  • El escalado autom谩tico seg煤n la carga.

  • El balanceo de carga entre m煤ltiples instancias.

  • Las actualizaciones sin interrupciones (rolling updates).

馃З Componentes principales de Kubernetes

ComponenteFunci贸n
PodUnidad m铆nima que puede contener uno o varios contenedores.
NodeServidor f铆sico o virtual donde corren los Pods.
ClusterConjunto de nodos gestionados por Kubernetes.
DeploymentDefine c贸mo deben desplegarse los Pods y c贸mo actualizarlos.
ServicePunto de acceso estable que conecta usuarios o sistemas con los Pods.
IngressPermite exponer aplicaciones v铆a HTTP/HTTPS hacia el exterior.