GabyMatic Academy — Ref

Docker + OCI: Referencia de Despliegue

Los comandos que separan al que alquila del que construye.

Comandos Docker Esenciales

ComandoFunción
docker volume create n8n_dataCrea volumen persistente
docker pull docker.n8n.io/n8nio/n8nDescarga imagen estable
docker compose up -dLevanta servicios en segundo plano
docker compose downDetiene y elimina contenedores
docker compose restartReinicia sin perder volúmenes
docker logs -f n8nLogs en tiempo real (diagnóstico #1)
docker exec -it n8n shShell dentro del contenedor
docker statsCPU/RAM de todos los contenedores

OCI Always Free

RecursoLímite
Compute2 × Ampere A1 (ARM)
CPU / RAMHasta 4 OCPUs / 24 GB
StorageHasta 200 GB
Autonomous DB2 × 20 GB
Egress10 MBps

Instalar Docker en Ubuntu 22.04:

sudo apt install -y docker.io docker-compose-v2
sudo systemctl enable docker --now

Cloudflare Tunnel (HTTPS sin exponer puerto)

wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64 -O cloudflared
chmod +x cloudflared && sudo mv cloudflared /usr/local/bin/
cloudflared tunnel login
cloudflared tunnel create n8n-tunel
cloudflared tunnel route dns n8n-tunel n8n.tudominio.com
cloudflared tunnel --url http://localhost:5678 run n8n-tunel

En producción usa config.yml con token y hostname fijos, no --url.

Variables de Entorno Críticas n8n

VariablePropósito
N8N_ENCRYPTION_KEYCifra credenciales. Genera con openssl rand -hex 24
N8N_BASIC_AUTH_ACTIVE=trueActiva login del panel
N8N_BASIC_AUTH_USER/PASSWORDCredenciales del panel
DB_TYPE=postgresdbUsa PostgreSQL en lugar de SQLite
DB_POSTGRESDB_HOST/PORT/DATABASE/USER/PASSWORDConexión a PostgreSQL
GENERIC_TIMEZONE / TZZona horaria de nodos de programación
N8N_HOST / N8N_PROTOCOLURL pública y protocolo del host