n8n Cloud coûte 240€/an. Hetzner coûte 48€/an. Voici comment installer n8n en 45 minutes sur un serveur depuis Cotonou.
Ce guide couvre chaque étape : création du serveur, Docker, PostgreSQL, Nginx avec SSL gratuit, sauvegardes automatiques, et les problèmes spécifiques rencontrés depuis le Bénin.
- Comparatif des offres (n8n Cloud, Hetzner, DigitalOcean)
- Pourquoi Hetzner depuis le Bénin
- Prérequis avant de commencer
- Étape 1 — Créer le serveur Hetzner
- Étape 2 — Installer Docker et Docker Compose
- Étape 3 — docker-compose.yml complet (n8n + PostgreSQL)
- Étape 4 — Nginx reverse proxy + SSL Let's Encrypt
- Étape 5 — Sécuriser et sauvegarder
- Tableau des coûts complet
- Problèmes courants depuis le Bénin
- FAQ — 10 questions
Comparatif des offres : n8n Cloud vs Hetzner vs DigitalOcean
Avant de commencer l'installation, il faut avoir les chiffres en tête. Le tableau ci-dessous compare trois solutions réalistes pour une PME béninoise souhaitant faire tourner n8n en production.
Comparatif annuel — n8n Cloud / Hetzner CX22 / DigitalOcean Droplet
| Critère | n8n Cloud Starter | Hetzner CX22 Recommandé | DigitalOcean Basic |
|---|---|---|---|
| Prix mensuel | 20 €/mois | 4,49 €/mois | 24 $/mois |
| Prix annuel | 240 €/an | 53,88 €/an | ~265 €/an |
| RAM | Partagée (gérée) | 4 Go RAM dédiée | 4 Go RAM dédiée |
| vCPU | Partagé | 2 vCPU AMD | 2 vCPU |
| Stockage | Géré (limité) | 40 Go NVMe SSD | 50 Go SSD |
| Workflows actifs | 5 maximum | Illimité | Illimité |
| Executions/mois | 5 000 actives max | Illimitées | Illimitées |
| Bande passante | Incluse (limitée) | 20 To/mois inclus | 4 To/mois |
| Paiement depuis le Bénin | Carte / PayPal | Carte / PayPal / SEPA | Carte / PayPal / Crypto |
| Maintenace requise | Aucune | 30 min/mois | 30 min/mois |
| Datacenter | Europe (géré) | Nuremberg / Helsinki | Amsterdam / Francfort |
| RGPD / données | Données chez n8n GmbH | Données sur votre serveur | Données sur votre serveur |
| Economie vs n8n Cloud | Référence | + 186 €/an économisés | Comparable (cher) |
Hetzner est clairement le choix optimal pour le rapport qualité/prix. DigitalOcean est une alternative si vous rencontrez des blocages d'identité chez Hetzner — ils acceptent les cryptomonnaies comme moyen de paiement.
Pourquoi Hetzner depuis le Bénin
Il existe des dizaines d'hébergeurs VPS dans le monde. Hetzner se distingue pour trois raisons concrètes lorsqu'on travaille depuis Cotonou.
Latence acceptable depuis Cotonou
Hetzner possède des datacenters à Nuremberg et Falkenstein (Allemagne) ainsi qu'à Helsinki (Finlande). La latence typique depuis Cotonou vers Nuremberg est de 80 à 140 ms selon l'opérateur (MTN Bénin ou Moov). C'est tout à fait correct pour n8n : les workflows s'exécutent côté serveur, votre connexion locale n'influence que la vitesse d'accès à l'interface de gestion.
Paiement accessible depuis l'Afrique
Hetzner accepte les cartes Visa et Mastercard internationales, PayPal, et les virements SEPA. Depuis Cotonou, la solution la plus simple est une carte Visa prépayée internationale disponible chez Ecobank ou Bank of Africa, ou un compte PayPal rechargé par carte. Certains clients utilisent aussi la carte Binance liée à leur compte crypto.
Tarifs parmi les plus bas du marché
Le plan CX22 (2 vCPU AMD, 4 Go RAM, 40 Go SSD NVMe) est à 4,49 €/mois HT. DigitalOcean propose un plan équivalent à 24 $/mois — plus de 5 fois plus cher. Hetzner est la référence en matière de prix VPS en Europe depuis plusieurs années.
Prérequis avant de commencer
Ce guide suppose que vous disposez des éléments suivants. Vérifiez chaque point avant de démarrer pour éviter les blocages en cours d'installation.
- Un compte Hetzner actif — inscrit sur hetzner.com, email vérifié, moyen de paiement ajouté. Prévoyez 24 à 48h si une vérification d'identité est demandée.
- Un nom de domaine avec sous-domaine dédié — par exemple
n8n.votre-entreprise.com. Sans domaine, pas de HTTPS, pas de webhooks sécurisés. Un .com chez OVH ou Namecheap coûte moins de 12€/an. - Notions Linux basiques — savoir se connecter en SSH (
ssh user@ip), exécuter des commandes dans un terminal, et éditer un fichier avecnano. - Un client SSH — Terminal natif sur Mac/Linux. PuTTY ou Windows Terminal sur Windows. JuiceSSH (Android) pour dépannage mobile.
Créer le serveur Hetzner (CX22, Ubuntu 22.04)
Configuration recommandée dans la console Hetzner
Connectez-vous sur console.hetzner.com et cliquez sur "Create Server". Voici les paramètres exacts à sélectionner.
- Location : Nuremberg (nbg1) ou Falkenstein (fsn1) — les deux donnent une latence similaire depuis Cotonou. Helsinki est légèrement plus éloigné.
- Image : Ubuntu 22.04 LTS — stable, supporté jusqu'en 2027, documentation abondante en français.
- Type : CX22 — 2 vCPU AMD, 4 Go RAM, 40 Go NVMe SSD. Minimum requis pour n8n + PostgreSQL + Nginx sans saturation.
- Networking : IPv4 uniquement pour simplifier la configuration initiale.
- SSH Keys : generez une paire de clés avant de créer le serveur (voir ci-dessous) et collez la clé publique dans le formulaire.
Générer une paire de clés SSH (sur votre machine locale)
ssh-keygen -t ed25519 -C "n8n-hetzner-benin" # Appuyez Entrée pour valider l'emplacement par défaut (~/.ssh/id_ed25519) # Définissez une passphrase si vous le souhaitez (recommandé) # Afficher votre clé publique — c'est ce que vous collez dans Hetzner : cat ~/.ssh/id_ed25519.pub
Connexion initiale et mise à jour du serveur
Une fois le serveur créé (moins d'une minute), notez son adresse IP publique depuis la console. Connectez-vous en SSH depuis votre terminal.
ssh root@VOTRE_IP_HETZNER # Mise à jour des paquets Ubuntu (toujours faire ça en premier) apt update && apt upgrade -y # Outils essentiels apt install -y curl wget git nano ufw fail2ban
Configurer le pare-feu UFW
# Autoriser SSH, HTTP et HTTPS — dans cet ordre précis ufw allow OpenSSH ufw allow 80/tcp ufw allow 443/tcp # Activer UFW (la connexion SSH actuelle n'est pas coupée) ufw --force enable # Vérification ufw status verbose
Installer Docker et Docker Compose
Docker est le moteur de conteneurisation qui fait tourner n8n dans un environnement isolé et portable. Docker Compose orchestre plusieurs conteneurs (n8n + PostgreSQL) avec un seul fichier de configuration.
Installez Docker depuis le dépôt officiel — pas depuis les paquets Ubuntu par défaut, qui sont souvent en retard d'une version majeure.
# Dépendances nécessaires à l'ajout du dépôt Docker apt install -y ca-certificates curl gnupg lsb-release # Clé GPG officielle Docker install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ gpg --dearmor -o /etc/apt/keyrings/docker.gpg chmod a+r /etc/apt/keyrings/docker.gpg # Ajout du dépôt Docker dans les sources APT echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ tee /etc/apt/sources.list.d/docker.list > /dev/null # Installation de Docker Engine + Compose Plugin apt update apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Vérification de l'installation
# Version Docker docker --version # Résultat attendu : Docker version 25.x.x, build xxxxxxx # Version Docker Compose (plugin intégré) docker compose version # Résultat attendu : Docker Compose version v2.x.x # Test rapide (facultatif) docker run --rm hello-world
systemctl is-enabled docker. Le résultat doit être enabled.
docker-compose.yml complet pour n8n + PostgreSQL
On crée deux services : PostgreSQL (base de données de production, bien plus stable que SQLite) et n8n lui-même. Évitez SQLite en production — il ne gère pas bien les accès concurrents sur des workflows à fort trafic.
# Créer et entrer dans le répertoire de travail mkdir -p /opt/n8n && cd /opt/n8n # Créer le répertoire pour les fichiers locaux utilisables dans les workflows mkdir -p /opt/n8n/files /opt/n8n/backups
Fichier .env — Variables d'environnement
Créez le fichier des variables d'environnement. Ne commitez jamais ce fichier dans git — il contient vos mots de passe.
nano /opt/n8n/.env
# ── Domaine et protocole ──────────────────────────────────────────────── N8N_HOST=n8n.votre-entreprise.com N8N_PORT=5678 N8N_PROTOCOL=https WEBHOOK_URL=https://n8n.votre-entreprise.com/ # ── Authentification de base ──────────────────────────────────────────── N8N_BASIC_AUTH_ACTIVE=true N8N_BASIC_AUTH_USER=admin N8N_BASIC_AUTH_PASSWORD=MotDePasseTresSolide2025! # ── Fuseau horaire Bénin (Africa/Porto-Novo = UTC+1) ─────────────────── GENERIC_TIMEZONE=Africa/Porto-Novo TZ=Africa/Porto-Novo # ── PostgreSQL — identifiants de connexion ────────────────────────────── DB_TYPE=postgresdb DB_POSTGRESDB_HOST=postgres DB_POSTGRESDB_PORT=5432 DB_POSTGRESDB_DATABASE=n8n DB_POSTGRESDB_USER=n8n_user DB_POSTGRESDB_PASSWORD=MotDePassePostgres2025! # ── PostgreSQL — variables du conteneur postgres ──────────────────────── POSTGRES_DB=n8n POSTGRES_USER=n8n_user POSTGRES_PASSWORD=MotDePassePostgres2025! # ── SMTP pour les notifications n8n ──────────────────────────────────── N8N_EMAIL_MODE=smtp N8N_SMTP_HOST=smtp.gmail.com N8N_SMTP_PORT=587 N8N_SMTP_USER=votre-email@gmail.com N8N_SMTP_PASS=votre-app-password-gmail N8N_SMTP_SENDER=votre-email@gmail.com # ── Clé de chiffrement des credentials (générez avec : openssl rand -hex 32) ── N8N_ENCRYPTION_KEY=collez-ici-une-clé-aléatoire-de-64-caractères-hex # ── Executions : désactiver la conservation des données pour économiser l'espace EXECUTIONS_DATA_PRUNE=true EXECUTIONS_DATA_MAX_AGE=168
Fichier docker-compose.yml complet
nano /opt/n8n/docker-compose.yml
# ── docker-compose.yml — n8n self-hosted + PostgreSQL ────────────────── # Installation sur Hetzner CX22 depuis Cotonou, Bénin # Paul-Maxime Dossou — consultant n8n Cotonou version: "3.8" services: # ── Base de données PostgreSQL 15 ────────────────────────────────────── postgres: image: postgres:15-alpine container_name: n8n_postgres restart: always environment: POSTGRES_DB: ${POSTGRES_DB} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} volumes: # Données PostgreSQL persistantes entre redémarrages - postgres_data:/var/lib/postgresql/data networks: - n8n_network # Healthcheck : n8n attend que PostgreSQL soit prêt avant de démarrer healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"] interval: 10s timeout: 5s retries: 5 # ── Application n8n ──────────────────────────────────────────────────── n8n: image: n8nio/n8n:latest container_name: n8n_app restart: always ports: # Exposé uniquement en local — Nginx se charge du HTTPS - "127.0.0.1:5678:5678" env_file: - .env depends_on: postgres: condition: service_healthy volumes: # Données n8n persistantes (workflows, credentials, paramètres) - n8n_data:/home/node/.n8n # Répertoire local accessible depuis les nodes "Execute Command" - /opt/n8n/files:/files networks: - n8n_network # ── Volumes Docker persistants ────────────────────────────────────────── volumes: postgres_data: driver: local n8n_data: driver: local # ── Réseau interne entre les conteneurs ──────────────────────────────── networks: n8n_network: driver: bridge
Démarrer les conteneurs
# Lancer en arrière-plan (detached mode) cd /opt/n8n && docker compose up -d # Suivre les logs pour vérifier que n8n démarre correctement docker compose logs -f n8n # Ctrl+C pour quitter la vue des logs, les conteneurs continuent de tourner # Vérifier que les deux conteneurs sont "Up" docker compose ps
Après environ 30 à 60 secondes, n8n est accessible sur http://VOTRE_IP:5678. Notez que ce port est lié à 127.0.0.1 uniquement — il n'est pas accessible depuis l'extérieur. Passons à Nginx pour configurer le HTTPS.
Nginx reverse proxy + SSL Let's Encrypt
Nginx joue le rôle de passerelle : il reçoit les requêtes HTTPS sur le port 443 et les transfère à n8n sur le port 5678 en local. Let's Encrypt fournit les certificats SSL gratuitement et les renouvelle automatiquement.
Prérequis DNS — Pointer votre sous-domaine vers Hetzner
Avant d'installer Certbot, créez un enregistrement DNS de type A chez votre registrar (OVH, Namecheap). La propagation prend de 5 à 30 minutes.
# Enregistrement DNS à créer chez votre registrar : # Nom : n8n.votre-entreprise.com # Type : A # Valeur : VOTRE_IP_HETZNER # TTL : 300 (5 min) # Vérifier la propagation depuis votre serveur : nslookup n8n.votre-entreprise.com # Doit retourner votre IP Hetzner
Installer Nginx et Certbot
# Installer Nginx apt install -y nginx # Installer Certbot via snap (méthode officielle recommandée) snap install --classic certbot ln -s /snap/bin/certbot /usr/bin/certbot
Configuration Nginx pour n8n
nano /etc/nginx/sites-available/n8n
# ── Configuration Nginx pour n8n — Hetzner + Let's Encrypt ───────────── server { listen 80; server_name n8n.votre-entreprise.com; # Redirection automatique HTTP vers HTTPS return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name n8n.votre-entreprise.com; # Certificats SSL générés par Certbot (Let's Encrypt) ssl_certificate /etc/letsencrypt/live/n8n.votre-entreprise.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/n8n.votre-entreprise.com/privkey.pem; # Paramètres TLS sécurisés (désactive TLS 1.0 et 1.1) ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256; ssl_prefer_server_ciphers off; ssl_session_cache shared:SSL:10m; ssl_session_timeout 1d; # Headers de sécurité add_header Strict-Transport-Security "max-age=63072000" always; add_header X-Frame-Options DENY; add_header X-Content-Type-Options nosniff; # Taille max des fichiers uploadés dans les workflows n8n client_max_body_size 50M; # Timeouts élevés pour les webhooks longue durée proxy_read_timeout 600s; proxy_connect_timeout 60s; proxy_send_timeout 600s; location / { proxy_pass http://127.0.0.1:5678; proxy_http_version 1.1; # Headers requis pour les WebSockets (interface n8n en temps réel) proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # Désactiver le buffering — requis pour les SSE (exécutions en direct) proxy_buffering off; } }
Activer la configuration et obtenir le certificat SSL
# Activer le site (lien symbolique) ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/ rm -f /etc/nginx/sites-enabled/default # Vérifier la syntaxe Nginx avant de recharger nginx -t # Résultat attendu : syntax is ok / test is successful # Démarrer Nginx systemctl start nginx systemctl enable nginx # Obtenir le certificat SSL Let's Encrypt (gratuit, renouvelé automatiquement) certbot --nginx -d n8n.votre-entreprise.com \ --non-interactive --agree-tos \ -m votre-email@gmail.com # Vérifier que le renouvellement automatique est actif systemctl status snap.certbot.renew.timer
Votre instance n8n est maintenant accessible en HTTPS sur https://n8n.votre-entreprise.com. L'interface demande les identifiants définis dans le fichier .env.
Sécuriser et sauvegarder son instance n8n
Renforcer la sécurité
L'authentification basique configurée dans le .env est suffisante pour commencer. Pour aller plus loin, ajoutez un utilisateur non-root et activez la gestion des utilisateurs intégrée à n8n (disponible depuis la version 0.200).
# Générer un mot de passe fort aléatoire (si vous n'en avez pas) openssl rand -base64 24 # Générer la clé de chiffrement N8N_ENCRYPTION_KEY openssl rand -hex 32 # Créer un utilisateur système dédié (bonne pratique) useradd -m -s /bin/bash n8nadmin usermod -aG docker n8nadmin
Script de sauvegarde automatique
Ce script effectue un dump PostgreSQL et une archive des données n8n chaque nuit, puis supprime les backups de plus de 14 jours.
nano /opt/n8n/backup.sh
#!/bin/bash # ── Sauvegarde quotidienne n8n — Paul-Maxime Dossou, Cotonou Bénin ────── # Dump PostgreSQL + archive données n8n # Exécuté par cron chaque nuit à 2h00 (heure serveur UTC) set -e BACKUP_DIR=/opt/n8n/backups DATE=$(date +%Y-%m-%d_%H-%M) LOG_FILE=/var/log/n8n-backup.log # Créer le répertoire de sauvegarde s'il n'existe pas mkdir -p "$BACKUP_DIR" echo "[${DATE}] Démarrage de la sauvegarde..." >> "$LOG_FILE" # 1. Dump de la base PostgreSQL (compressé en gzip) docker exec n8n_postgres pg_dump -U n8n_user n8n | \ gzip > "${BACKUP_DIR}/postgres_${DATE}.sql.gz" echo "[${DATE}] Dump PostgreSQL : OK" >> "$LOG_FILE" # 2. Archive des données n8n (workflows, credentials, fichiers) docker run --rm \ --volumes-from n8n_app \ -v "${BACKUP_DIR}:/backup" \ alpine:latest \ tar czf "/backup/n8n_data_${DATE}.tar.gz" /home/node/.n8n echo "[${DATE}] Archive données n8n : OK" >> "$LOG_FILE" # 3. Supprimer les backups de plus de 14 jours find "$BACKUP_DIR" -type f -mtime +14 -delete echo "[${DATE}] Sauvegarde terminée. Fichiers dans : ${BACKUP_DIR}" >> "$LOG_FILE"
# Rendre le script exécutable chmod +x /opt/n8n/backup.sh # Tester le script manuellement une première fois /opt/n8n/backup.sh # Programmer la sauvegarde automatique chaque nuit à 2h00 crontab -e # Ajouter exactement cette ligne dans l'éditeur : 0 2 * * * /opt/n8n/backup.sh >> /var/log/n8n-backup.log 2>&1
Monitoring d'uptime avec UptimeRobot
Créez un compte gratuit sur uptimerobot.com et ajoutez un moniteur HTTP(s) pointant vers https://n8n.votre-entreprise.com. Vous recevrez une alerte par email (ou SMS sur le plan payant) dès que l'instance est indisponible. UptimeRobot vérifie toutes les 5 minutes — le plan gratuit couvre largement les besoins d'une PME.
Mettre à jour n8n
# Récupérer la dernière image n8n depuis Docker Hub cd /opt/n8n docker compose pull n8n # Redémarrer uniquement le conteneur n8n (PostgreSQL continue de tourner) docker compose up -d n8n # Vérifier la version installée docker exec n8n_app n8n --version
Tableau des coûts complet — Mensuel et annuel
Voici la décomposition précise et honnête de ce qu'il vous en coûtera pour faire tourner n8n en production depuis le Bénin sur un VPS Hetzner CX22.
| Poste | Détail | Coût / mois | Coût / an |
|---|---|---|---|
| VPS Hetzner CX22 | 2 vCPU AMD, 4 Go RAM, 40 Go NVMe SSD | 4,49 € | 53,88 € |
| Snapshots Hetzner | Sauvegarde automatique du disque entier (optionnel) | 0,90 € | 10,80 € |
| Nom de domaine .com | OVH ou Namecheap — renouvellement annuel | 0,92 € | 11,00 € |
| Certificat SSL | Let's Encrypt — gratuit, renouvellement automatique | 0 € | 0 € |
| Monitoring UptimeRobot | Plan gratuit — 5 moniteurs, vérification toutes les 5 min | 0 € | 0 € |
| Bande passante Hetzner | 20 To/mois inclus dans CX22 — amplement suffisant | 0 € | 0 € |
| Total Self-hosted Hetzner (avec snapshot) | 6,31 €/mois | 75,68 €/an | |
| Total Self-hosted Hetzner (sans snapshot) | 5,41 €/mois | 64,88 €/an | |
| n8n Cloud Starter (référence) | 20 €/mois | 240 €/an | |
| Economie réalisée sur 12 mois | 13,69 €/mois | 164,32 €/an | |
Problèmes courants depuis le Bénin — Tableau de résolution
Ces problèmes ont été recensés lors d'installations réelles effectuées depuis Cotonou et d'autres villes du Bénin. Les solutions sont directement applicables.
| Problème | Cause probable | Solution |
|---|---|---|
| Paiement Hetzner refusé | Carte locale non acceptée à l'international | Utiliser PayPal rechargé par carte, ou carte Visa prépayée internationale Ecobank / Bank of Africa. En dernier recours : passer sur DigitalOcean qui accepte les cryptomonnaies. |
| Compte Hetzner bloqué après inscription | Vérification d'identité requise (normale depuis l'Afrique) | Envoyer une photo de CNI ou passeport au support Hetzner (support@hetzner.com). Réponse sous 24 à 48h. Utiliser une adresse email professionnelle pour l'inscription. |
| SSH timeout lors de la connexion initiale | Connexion MTN / Moov instable le soir | Essayez entre 7h et 10h du matin (meilleure stabilité réseau à Cotonou). Utilisez une clé SSH plutôt qu'un mot de passe pour éviter les timeouts d'authentification. |
| Conteneur n8n qui redémarre en boucle | Variable .env mal formatée ou PostgreSQL pas encore prêt | Vérifier les logs : docker compose logs n8n --tail=50. Cause fréquente : guillemets ou espaces dans le fichier .env. PostgreSQL doit être "healthy" avant que n8n ne démarre. |
| Webhooks ne se déclenchent pas | WEBHOOK_URL incorrect dans le .env | Vérifier que WEBHOOK_URL=https://n8n.votre-domaine.com/ correspond exactement à votre domaine (avec le / final). Redémarrer avec docker compose restart n8n après chaque modification du .env. |
| Erreur "connection refused" sur le port 5678 | Port 5678 non exposé publiquement (configuration correcte) | Normal — le port est lié à 127.0.0.1, pas à 0.0.0.0. Accédez à n8n via HTTPS (port 443) à travers Nginx, pas directement sur le port 5678. |
| Certificat SSL non généré (erreur Certbot) | DNS pas encore propagé lors de l'appel Certbot | Attendre 15 à 30 minutes et réessayer. Vérifier la propagation avec nslookup n8n.votre-domaine.com depuis le serveur. L'IP retournée doit correspondre à celle de votre VPS Hetzner. |
| Coupure internet pendant la configuration | Instabilité réseau locale (normale) | La session SSH se coupe mais le serveur continue de fonctionner. Reconnectez-vous et vérifiez l'état avec docker compose ps. Les conteneurs avec restart: always survivent aux coupures. |
FAQ — 10 questions sur l'hébergement n8n self-hosted depuis le Bénin
restart: always dans le docker-compose.yml, n8n redémarre automatiquement après un crash ou un redémarrage du serveur. Les snapshots Hetzner (0,90 €/mois) permettent de restaurer le disque entier en quelques minutes. UptimeRobot vous alerte immédiatement par email en cas d'interruption. L'uptime garanti par Hetzner est de 99,9 %, soit moins de 9 heures de downtime par an.Besoin d'aide pour installer n8n sur Hetzner ?
Je propose une installation clé en main depuis Cotonou : serveur configuré, HTTPS activé, sauvegardes automatiques, monitoring — livré en 24h.
Je propose aussi des formations n8n pour apprendre à créer vos propres automatisations depuis le Bénin.