Auto-héberger n8n sur un VPS pour moins de 10 $ par mois
· Par AI Compare
Une installation n8n prête pour la production avec HTTPS et Postgres, pour le prix d’un petit serveur.
Ce que vous obtenez
Une instance n8n prête pour la production, avec HTTPS, une vraie base de données et des redémarrages automatiques, sur un petit serveur privé virtuel (VPS). Coût du logiciel : 0 $. Coût du serveur : généralement 5 à 10 $ par mois.
Détail des coûts
| Poste | Coût mensuel habituel | Remarques |
|---|---|---|
| VPS (1–2 vCPU, 2–4 Go de RAM) | 5–10 $ | 1 Go suffit pour un usage léger ; 2 Go et plus est plus confortable |
| Nom de domaine | ~1 $ (environ 10–15 $/an) | Facultatif, mais nécessaire pour des webhooks HTTPS propres |
| Sauvegardes / snapshots | 1–2 $ | La plupart des hébergeurs facturent ~20 % du prix du serveur |
| n8n Community Edition | 0 $ | Workflows et exécutions illimités |
| Total | Environ 7–13 $ |
Les prix des VPS bougent beaucoup en 2026. Le droplet de 1 Go de DigitalOcean coûte 6 $/mois ; les offres « cost-optimised » les moins chères de Hetzner ont été par moments indisponibles cette année. Comparez les prix actuels avant de choisir un hébergeur.
À comparer avec n8n Cloud Starter à 20 €/mois pour 2 500 exécutions. Au-delà de quelques milliers d’exécutions par mois, l’auto-hébergement est immédiatement rentable.
Ce qu’il vous faut
- Un VPS sous Ubuntu 22.04 ou 24.04.
- Un domaine ou sous-domaine, par exemple
n8n.yourcompany.com, pointant vers l’IP du serveur via un enregistrement A. - Une aisance de base avec SSH et la ligne de commande.
Étape 1 : sécuriser le serveur
ssh root@YOUR_SERVER_IP
apt update && apt upgrade -y
adduser n8nadmin && usermod -aG sudo n8nadmin
ufw allow OpenSSH && ufw allow 80 && ufw allow 443 && ufw enable
Utilisez des clés SSH et désactivez la connexion par mot de passe une fois l’accès par clé vérifié.
Étape 2 : installer Docker
curl -fsSL https://get.docker.com | sh
usermod -aG docker n8nadmin
Déconnectez-vous puis reconnectez-vous en tant que n8nadmin.
Étape 3 : créer le fichier Docker Compose
Créez un dossier et un fichier docker-compose.yml :
services:
caddy:
image: caddy:2
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
postgres:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: change-this-password
POSTGRES_DB: n8n
volumes:
- db_data:/var/lib/postgresql/data
n8n:
image: docker.n8n.io/n8nio/n8n
restart: unless-stopped
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: postgres
DB_POSTGRESDB_DATABASE: n8n
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: change-this-password
N8N_HOST: n8n.yourcompany.com
N8N_PROTOCOL: https
WEBHOOK_URL: https://n8n.yourcompany.com/
GENERIC_TIMEZONE: Europe/Budapest
N8N_ENCRYPTION_KEY: generate-a-long-random-string
volumes:
- n8n_data:/home/node/.n8n
depends_on:
- postgres
volumes:
caddy_data:
db_data:
n8n_data:
Et un fichier Caddyfile à côté :
n8n.yourcompany.com {
reverse_proxy n8n:5678
}
Caddy obtient et renouvelle automatiquement un certificat HTTPS gratuit.
Étape 4 : le lancer
docker compose up -d
Ouvrez https://n8n.yourcompany.com et créez le compte propriétaire.
Étape 5 : bien sauvegarder
- Conservez
N8N_ENCRYPTION_KEYen lieu sûr. Sans elle, vos credentials enregistrés ne peuvent pas être déchiffrés. - Activez les snapshots hebdomadaires de votre hébergeur.
- Exportez régulièrement la base de données :
docker compose exec postgres pg_dump -U n8n n8n > backup.sql. - Exportez les workflows en JSON ou connectez Git (fonction payante) pour l’historique des versions.
Étape 6 : mettre à jour en toute sécurité
docker compose pull
docker compose up -d
Faites un snapshot avant les mises à jour majeures et lisez les notes de version.
Quelle taille de serveur vous faut-il ?
| Charge | Taille conseillée |
|---|---|
| Quelques workflows, planifications légères | 1 vCPU, 1–2 Go de RAM |
| Des dizaines de workflows, webhooks, volume modéré | 2 vCPU, 4 Go de RAM |
| Gros volume ou fichiers volumineux et workflows IA | 4 vCPU, 8 Go de RAM, envisagez le queue mode avec Redis |

