n8n est l'un de ces outils où l'auto-hébergement inverse complètement l'économie. Sur les offres cloud, vous payez à l'exécution, donc plus votre automatisation devient utile, plus elle coûte cher. Sur votre propre serveur, un workflow qui se déclenche dix mille fois par mois coûte exactement la même chose qu'un qui se déclenche dix fois : le prix de la machine.
Si vos workflows touchent quoi que ce soit de sensible — données clients, clés API, systèmes internes — la deuxième raison est plus forte que la première. Auto-hébergé signifie que les données ne quittent jamais une machine que vous contrôlez.
Ce dont n8n a besoin
Plus qu'un bot Telegram, moins que vous ne le craignez :
- La RAM est la contrainte. n8n plus Postgres veut de la marge. Small (8 $/mois — 4 vCPU, 4 Go RAM) est le choix confortable par défaut. Micro (5 $) convient à un usage personnel léger sur SQLite.
- Une IP publique, un domaine et TLS. Les webhooks représentent la moitié de ce qui rend n8n intéressant, et ils nécessitent du HTTPS entrant. Cela signifie une offre à IP dédiée — nos offres NAT ne prennent pas le trafic web entrant.
- Du disque pour l'historique des exécutions. n8n stocke chaque exécution. Le NVMe garde cela réactif ; 35 Go tiennent longtemps si vous élaguez les anciennes exécutions.
Configuration Docker Compose
# Ubuntu 24.04, offre à IP dédiée
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
Placez ensuite Caddy ou nginx devant pour le HTTPS — Caddy récupérera un certificat Let's Encrypt tout seul une fois que l'enregistrement A de votre domaine pointe vers l'IP du serveur.
Deux choses que les gens regrettent d'avoir sautées : définissez N8N_ENCRYPTION_KEY sur une chaîne longue et sauvegardez-la (perdez-la et vos identifiants stockés sont irrécupérables), et activez l'authentification de base ou la gestion des utilisateurs de n8n avant que l'instance ne soit joignable depuis Internet.
Pourquoi l'héberger ici
Sans KYC, paiement en crypto. Un e-mail pour s'inscrire, des USDC ou USDT sur Base, Ethereum ou Polygon. Si vos automatisations sont pour un projet perso, un client ou quelque chose que vous préférez ne pas lier à une identité d'entreprise, il n'y a aucune étape de paperasse. Nouveau à la crypto ?
Fixe, bon marché, non compté. 8 $/mois, trafic non compté à 1 Gbit/s. Un workflow qui martèle une API toute la journée ne change pas la facture.
Choisir une offre
| Usage | Offre | Prix |
|---|---|---|
| Personnel, workflows légers, SQLite | Micro-IP | 10 $/mois |
| La config normale : n8n + Postgres + webhooks | Small-IP | 16 $/mois |
| Workflows lourds, beaucoup d'historique, conteneurs supplémentaires | Medium-IP | 20 $/mois |
Les offres à IP dédiée sont celles à regarder ici — vous avez besoin de HTTPS entrant. Root complet, NVMe, trafic non compté, Allemagne ou Finlande. La facturation annuelle est un seul transfert crypto au lieu de douze.
Lectures liées
- Auto-héberger n8n sur un VPS — le guide détaillé
- Sécuriser un nouveau VPS : une checklist — avant d'exposer quoi que ce soit à Internet
Prêt ? Déployez un serveur n8n → — en ligne en une minute environ, payé en crypto, sans pièce d'identité requise.
Commentaires
Pas encore de commentaires. Soyez le premier.