n8n è uno di quegli strumenti dove il self-hosting ribalta del tutto l'economia. Sui piani cloud paghi per esecuzione, quindi più utile diventa la tua automazione, più costa. Sul tuo server, un workflow che scatta diecimila volte al mese costa esattamente lo stesso di uno che scatta dieci: il prezzo della macchina.
Se i tuoi workflow toccano qualcosa di sensibile — dati dei clienti, chiavi API, sistemi interni — il secondo motivo è più forte del primo. Self-hosted significa che i dati non lasciano mai una macchina che controlli.
Cosa serve a n8n
Più di un bot Telegram, meno di quanto temeresti:
- La RAM è il vincolo. n8n più Postgres vuole spazio per respirare. Small ($8/mese — 4 vCPU, 4 GB RAM) è il default comodo. Micro ($5) funziona per un uso personale leggero su SQLite.
- Un IP pubblico, un dominio e TLS. I webhook sono metà di ciò che rende n8n degno di essere fatto girare, e hanno bisogno di HTTPS in entrata. Questo significa un piano con IP dedicato — i nostri piani NAT non prendono traffico web in entrata.
- Disco per la cronologia delle esecuzioni. n8n memorizza ogni run. NVMe lo tiene scattante; 35 GB vanno lontano se fai pruning delle vecchie esecuzioni.
Setup con Docker Compose
# Ubuntu 24.04, piano con IP dedicato
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
Poi metti Caddy o nginx davanti per l'HTTPS — Caddy recupererà un certificato Let's Encrypt da solo una volta che il record A del tuo dominio punta all'IP del server.
Due cose che la gente si pente di saltare: imposta N8N_ENCRYPTION_KEY a qualcosa di lungo e fanne il backup (perdilo e le tue credenziali memorizzate sono irrecuperabili), e attiva la basic auth o la gestione utenti di n8n prima che l'istanza sia raggiungibile da internet.
Perché ospitarlo qui
Niente KYC, pagamento in crypto. Email per registrarti, USDC o USDT su Base, Ethereum o Tron. Se le tue automazioni sono per un progetto secondario, un cliente, o qualcosa che preferiresti non legare a un'identità aziendale, non c'è un passo burocratico. Nuovo al crypto?
Fisso, economico, non contato. $8/mese, traffico non contato a 1 Gbit/s. Un workflow che martella un'API tutto il giorno non cambia il conto.
Scegliere un piano
| Uso | Piano | Prezzo |
|---|---|---|
| Personale, workflow leggeri, SQLite | Micro-IP | $10/mese |
| Il setup normale: n8n + Postgres + webhook | Small-IP | $16/mese |
| Workflow pesanti, molta cronologia, container extra | Medium-IP | $20/mese |
I piani con IP dedicato sono quelli da guardare qui — ti serve HTTPS in entrata. Root completo, NVMe, traffico non contato, Germania o Finlandia. La fatturazione annuale è un trasferimento in crypto invece di dodici.
Letture correlate
- Fai self-hosting di n8n su un VPS — la guida estesa
- Blinda un nuovo VPS: una checklist — prima di esporre qualsiasi cosa a internet
Pronto? Fai il deploy di un server n8n → — in funzione in circa un minuto, pagato in crypto, nessun documento richiesto.
Commenti
Ancora nessun commento. Sii il primo.