n8n es una de esas herramientas donde autoalojar da la vuelta a la economía por completo. En los planes cloud pagas por ejecución, así que cuanto más útil se vuelve tu automatización, más cuesta. En tu propio servidor, un flujo de trabajo que se dispara diez mil veces al mes cuesta exactamente lo mismo que uno que se dispara diez: el precio de la máquina.
Si tus flujos de trabajo tocan algo sensible — datos de clientes, claves de API, sistemas internos — la segunda razón es más fuerte que la primera. Autoalojado significa que los datos nunca salen de una máquina que controlas.
Qué necesita n8n
Más que un bot de Telegram, menos de lo que temerías:
- La RAM es la restricción. n8n más Postgres quiere espacio para respirar. Small (8 $/mes — 4 vCPU, 4 GB de RAM) es el valor por defecto cómodo. Micro (5 $) sirve para un uso personal ligero con SQLite.
- Una IP pública, un dominio y TLS. Los webhooks son la mitad de lo que hace que valga la pena ejecutar n8n, y necesitan HTTPS entrante. Eso significa un plan con IP dedicada — nuestros planes NAT no aceptan tráfico web entrante.
- Disco para el historial de ejecuciones. n8n almacena cada ejecución. El NVMe lo mantiene ágil; 35 GB dan mucho de sí si purgas las ejecuciones viejas.
Configuración con Docker Compose
# Ubuntu 24.04, plan con IP dedicada
apt update && apt install -y docker.io docker-compose-v2
systemctl enable --now docker
mkdir -p /opt/n8n && cd /opt/n8n
cat > docker-compose.yml <<'EOF'
services:
postgres:
image: postgres:16
restart: always
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: change_me
POSTGRES_DB: n8n
volumes: [ ./pgdata:/var/lib/postgresql/data ]
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports: [ "5678:5678" ]
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: postgres
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: change_me
N8N_HOST: n8n.yourdomain.com
N8N_PROTOCOL: https
WEBHOOK_URL: https://n8n.yourdomain.com/
N8N_ENCRYPTION_KEY: generate_a_long_random_string
volumes: [ ./n8n-data:/home/node/.n8n ]
depends_on: [ postgres ]
EOF
docker compose up -d
Luego pon Caddy o nginx delante para el HTTPS — Caddy obtendrá un certificado de Let's Encrypt por su cuenta una vez que el registro A de tu dominio apunte a la IP del servidor.
Dos cosas que la gente lamenta saltarse: pon N8N_ENCRYPTION_KEY en algo largo y haz una copia de seguridad (piérdela y tus credenciales almacenadas son irrecuperables), y activa la autenticación básica o la gestión de usuarios de n8n antes de que la instancia sea alcanzable desde internet.
Por qué alojarlo aquí
Sin KYC, pago en cripto. Un correo para registrarte, USDC o USDT en Base, Ethereum o Polygon. Si tus automatizaciones son para un proyecto paralelo, un cliente, o algo que preferirías no atar a una identidad corporativa, no hay paso de papeleo. ¿Nuevo en cripto?
Plano, barato, sin medir. 8 $/mes, tráfico sin medir a 1 Gbit/s. Un flujo de trabajo que martillea una API todo el día no cambia la factura.
Elegir un plan
| Uso | Plan | Precio |
|---|---|---|
| Personal, flujos ligeros, SQLite | Micro-IP | 10 $/mes |
| La configuración normal: n8n + Postgres + webhooks | Small-IP | 16 $/mes |
| Flujos pesados, mucho historial, contenedores extra | Medium-IP | 20 $/mes |
Los planes con IP dedicada son los que mirar aquí — necesitas HTTPS entrante. Root completo, NVMe, tráfico sin medir, Alemania o Finlandia. La facturación anual es una sola transferencia cripto en lugar de doce.
Lecturas relacionadas
- Autoaloja n8n en un VPS — el recorrido en formato largo
- Asegura un VPS nuevo: una lista de comprobación — antes de exponer nada a internet
¿Listo? Despliega un servidor n8n → — en línea en aproximadamente un minuto, pagado en cripto, sin necesidad de documento de identidad.
Comentarios
Aún no hay comentarios. Sé el primero.