Aller au contenu
HostOn
Hébergement

Héberger n8n soi-même : guide Ubuntu 24.04 avec Docker et HTTPS

Auto-héberger n8n sur un serveur VPS : Docker, Docker Compose et Caddy avec HTTPS, variables d’environnement, mises à jour, sauvegardes et sécurité.

Équipe HostOn9 min de lecture
Engrenages imbriqués d’un mécanisme d’horlogerie

Pour héberger n8n vous-même, il vous faut un serveur VPS sous Ubuntu 24.04, un sous-domaine comme n8n.votre-entreprise.ch, Docker avec Docker Compose et un reverse proxy qui obtient le certificat HTTPS. Ce guide suit la documentation officielle de n8n (état : octobre 2026, n8n 2.x) et utilise Caddy comme reverse proxy. Avec un peu d’expérience Linux, n8n est en ligne en une heure environ ; ensuite, les mises à jour, les sauvegardes et la sécurité sont de votre ressort.

Qu’est-ce que n8n ?

n8n est un outil d’automatisation de workflows. Dans un éditeur graphique, vous reliez des services comme l’e-mail, Google Sheets, un CRM, la comptabilité, des webhooks ou des modèles d’IA pour créer des processus : un nouveau formulaire de contact arrive automatiquement dans le CRM, une facture est classée en PDF, un rapport part par e-mail chaque lundi. Là où aucun nœud tout prêt n’existe, des requêtes HTTP et votre propre code JavaScript ou Python prennent le relais.

Pourquoi héberger n8n soi-même ?

  • Maîtrise des données : workflows, identifiants et données d’exécution restent sur votre serveur. Il est ainsi plus simple de respecter les exigences de la loi sur la protection des données (nLPD) et des contrats clients.
  • Coûts : l’édition Community est gratuite. Vous payez le serveur, pas le nombre d’exécutions.
  • Liberté : vos propres nœuds communautaires, toutes les variables d’environnement voulues et un accès direct aux systèmes internes du même réseau.
  • Mais : vous êtes responsable de l’exploitation, des mises à jour, des sauvegardes et de la sécurité. n8n recommande explicitement l’auto-hébergement aux personnes ayant l’expérience des serveurs.
Critèren8n CloudAuto-hébergé (VPS)
Exploitation et mises à journ8nVous
Emplacement des donnéesInfrastructure de n8nVotre serveur
Modèle de prixAbonnement selon l’offre, avec limites d’exécutionsCoût du serveur, pas de licence pour l’édition Community
LimitesLimites d’exécutions et de RAM selon l’offreCapacité de votre serveur
Connaissances requisesaucune pour l’exploitationLinux, Docker, DNS, sauvegardes

Prérequis

  • Un serveur VPS sous Ubuntu 24.04 LTS avec accès root ou sudo via SSH.
  • Mémoire : 2 Go de RAM et 1 à 2 vCPU suffisent pour débuter. Pour n8n Assistant avec sa sandbox, la documentation indique au moins 4 Go de RAM et 2 vCPU.
  • Stockage : 25 Go suffisent pour commencer. Par défaut, n8n supprime les données d’exécution après 336 heures (14 jours) ; c’est modifiable avec la variable EXECUTIONS_DATA_MAX_AGE.
  • Un domaine dont vous pouvez gérer les enregistrements DNS, p. ex. pour n8n.votre-entreprise.ch.
  • Une adresse e-mail pour le certificat Let’s Encrypt.

Étape 1 : préparer le serveur et le pare-feu

Connectez-vous en SSH, mettez le système à jour et créez votre propre utilisateur pour ne pas travailler en permanence en root :

  1. sudo apt update && sudo apt upgrade -y
  2. sudo adduser votrenom
  3. sudo usermod -aG sudo votrenom
  4. Ajouter une clé SSH pour le nouvel utilisateur, puis se reconnecter en tant que votrenom.
  5. sudo ufw allow OpenSSH
  6. sudo ufw allow 80
  7. sudo ufw allow 443
  8. sudo ufw enable

Étape 2 : installer Docker et Docker Compose

Installez Docker depuis le dépôt officiel de Docker, et non l’ancien paquet Ubuntu docker.io. Les commandes correspondent au guide de docs.docker.com pour Ubuntu 24.04 (Noble) :

  1. sudo apt install ca-certificates curl git
  2. sudo install -m 0755 -d /etc/apt/keyrings
  3. sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
  4. sudo chmod a+r /etc/apt/keyrings/docker.asc
  5. Créer le fichier /etc/apt/sources.list.d/docker.sources (sudo nano /etc/apt/sources.list.d/docker.sources) avec ces cinq lignes : Types: deb / URIs: https://download.docker.com/linux/ubuntu / Suites: noble / Components: stable / Signed-By: /etc/apt/keyrings/docker.asc
  6. sudo apt update
  7. sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  8. Vérifier : docker --version et docker compose version, puis sudo docker run hello-world

Étape 3 : créer l’enregistrement DNS

Chez votre fournisseur DNS, créez un enregistrement A pour le sous-domaine, p. ex. n8n.votre-entreprise.ch, qui pointe vers l’adresse IPv4 de votre VPS. Attendez que l’enregistrement soit résolu (test avec ping n8n.votre-entreprise.ch). Ce n’est qu’ensuite que Caddy peut obtenir le certificat.

Étape 4 : installer n8n avec Caddy

n8n met à disposition un dépôt de configuration prêt à l’emploi avec Docker Compose et Caddy. Caddy obtient et renouvelle automatiquement le certificat Let’s Encrypt.

  1. cd ~ && git clone https://github.com/n8n-io/n8n-docker-caddy.git
  2. cd n8n-docker-caddy
  3. sudo docker volume create caddy_data
  4. sudo docker volume create n8n_data
  5. nano .env et adapter les valeurs (voir ci-dessous).
  6. nano caddy_config/Caddyfile et remplacer l’espace réservé de la première ligne par n8n.votre-entreprise.ch.
  7. nano docker-compose.yml et, dans le service n8n, remplacer la ligne de port 5678:5678 par 127.0.0.1:5678:5678.
  8. sudo docker compose up -d
  9. Ouvrir https://n8n.votre-entreprise.ch dans le navigateur et créer le compte propriétaire.

Conseil: Le passage à 127.0.0.1:5678 est important : Docker publie les ports en contournant le pare-feu UFW. Sans cette modification, n8n serait aussi accessible sans chiffrement via http://adresse-IP:5678. Caddy joint n8n en interne par le réseau Docker et n’a pas besoin de ce port.

Les principales variables d’environnement

  • DATA_FOLDER=/home/votrenom/n8n-docker-caddy – chemin du dossier cloné.
  • DOMAIN_NAME=votre-entreprise.ch et SUBDOMAIN=n8n – ensemble, ils donnent l’adresse https://n8n.votre-entreprise.ch.
  • GENERIC_TIMEZONE=Europe/Zurich – fuseau horaire pour les planifications (Schedule Trigger).
  • SSL_EMAIL=it@votre-entreprise.ch – adresse de contact pour le certificat.
  • Dans docker-compose.yml, le dépôt définit déjà N8N_HOST, N8N_PROTOCOL=https et WEBHOOK_URL, pour que les adresses des webhooks commencent bien par https.
  • En option, sous environment : TZ=Europe/Zurich, N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true (comme dans le modèle Compose officiel) et N8N_DIAGNOSTICS_ENABLED=false si vous ne voulez pas envoyer de télémétrie à n8n.

Mises à jour : garder n8n et le serveur à jour

n8n publie une nouvelle version mineure presque chaque semaine. L’image sans numéro de version (latest) est la version stable pour la production ; le tag next est une préversion instable. Pour mettre à jour :

  1. Faire d’abord une sauvegarde (voir section suivante).
  2. cd ~/n8n-docker-caddy
  3. sudo docker compose pull
  4. sudo docker compose down
  5. sudo docker compose up -d
  6. Tester brièvement les workflows. Avant un saut de version important, lire les notes de version et les changements incompatibles (breaking changes).

Ubuntu a lui aussi besoin de mises à jour. Installez automatiquement les correctifs de sécurité avec sudo apt install unattended-upgrades et vérifiez régulièrement si un redémarrage est nécessaire.

Sauvegarder les données de n8n

Tout ce qui compte se trouve dans le volume Docker n8n_data : la base SQLite avec les workflows et les exécutions, ainsi que la clé de chiffrement avec laquelle n8n chiffre vos identifiants. Sans cette clé, les identifiants sauvegardés sont inutilisables. Sauvegardez donc de deux façons :

  1. Export en fichiers : sudo docker compose exec -u node n8n n8n export:workflow --backup --output=/files/backup/workflows/
  2. sudo docker compose exec -u node n8n n8n export:credentials --backup --output=/files/backup/credentials/
  3. Les exports se retrouvent sur le serveur dans le dossier local_files/backup. Les identifiants restent chiffrés.
  4. Volume complet : sudo docker compose stop, puis sudo docker run --rm -v n8n_data:/data -v $(pwd):/backup alpine tar czf /backup/n8n_data-$(date +%F).tar.gz -C /data . et enfin sudo docker compose start.
  5. Copier les sauvegardes sur un autre système avec rsync ou scp, et ne pas les laisser uniquement sur le VPS.

Conseil: Notez aussi la clé de chiffrement dans votre gestionnaire de mots de passe. Elle se trouve dans le fichier config du volume n8n_data (affichage avec sudo docker compose exec n8n cat /home/node/.n8n/config).

Sécurité : ce que vous devez protéger vous-même

  • Pare-feu : n’ouvrir que les ports 22, 80 et 443 ; lier le port 5678 uniquement à 127.0.0.1.
  • SSH : connexion uniquement par clé ; dans /etc/ssh/sshd_config, définir PasswordAuthentication no.
  • La basic auth est inutile : depuis n8n 1.0, la gestion des utilisateurs intégrée protège l’interface. Activez l’authentification à deux facteurs dans vos paramètres personnels.
  • Mises à jour : mettre régulièrement à jour l’image n8n, l’image Caddy et Ubuntu. Les failles de n8n sont corrigées dans les nouvelles versions.
  • Webhooks : protéger les webhooks de production par une vérification d’en-tête ou de jeton, car ils sont accessibles sans connexion.
  • Nœuds communautaires : ne les installer que depuis des sources fiables, car ils s’exécutent avec les droits de n8n.

Quel serveur VPS choisir pour n8n ?

Un petit serveur suffit pour quelques dizaines de workflows. Chez HostOn, vous choisissez Ubuntu 24.04 directement à la commande. VPS CORE 1 (1 vCPU, 2 Go de RAM, 25 Go SSD) à CHF 11.90 par mois suffit pour débuter ; avec VPS CORE 2 (2 vCPU, 4 Go de RAM, 50 Go SSD) à CHF 19.90 par mois, vous avez de la marge pour de nombreux workflows ou pour n8n Assistant. Les deux sont non infogérés et résiliables chaque mois : vous vous chargez vous-même de l’installation, des mises à jour et des sauvegardes de n8n, comme décrit ci-dessus.

Choisir un VPS pour n8n

n8nDockerServeur VPSAutomatisationUbuntu

Questions fréquentes sur le sujet

Oui. L’édition Community auto-hébergée de n8n fonctionne sans clé de licence, gratuitement et avec presque toutes les fonctions. Vous ne payez que le serveur ; certaines fonctions pour les grandes équipes font partie des éditions payantes Business et Enterprise.

n8n lui-même est léger : les plus petites offres n8n Cloud tournent avec 320 Mio de RAM. Avec le système d’exploitation, Docker et un reverse proxy, 2 Go de RAM sont un bon point de départ ; pour de nombreux workflows en parallèle ou pour n8n Assistant (la documentation exige au moins 4 Go de RAM et 2 vCPU), prévoyez davantage.

Non. Depuis n8n 1.0, la gestion des utilisateurs est intégrée et la basic auth a été supprimée. Lors du premier accès, vous créez un compte propriétaire ; activez en plus l’authentification à deux facteurs.

Dans le dossier du projet, exécutez l’une après l’autre les commandes docker compose pull, docker compose down et docker compose up -d. Faites une sauvegarde avant et lisez les notes de version en cas de saut de version important.

Les identifiants enregistrés (credentials) ne peuvent alors plus être déchiffrés et doivent être saisis à nouveau. Sauvegardez donc le volume Docker n8n_data, ou la clé elle-même, en lieu sûr.

Pour débuter, la base SQLite intégrée suffit. Avec beaucoup d’exécutions, plusieurs utilisateurs ou si vous voulez plus tard le mode file d’attente (queue mode) avec plusieurs workers, PostgreSQL est le meilleur choix.

Partager l’article

Une question ? Écrivez-nous dans votre langue.

Nous répondons dans la langue dans laquelle vous écrivez – allemand, français, italien, anglais et deux autres langues.

DEENFRITESRO

Réponse en général le jour ouvrable même

Postes de travail avec casques et ordinateurs portables dans un bureau lumineux
  • Ticketrecommandé

    Pour tout ce qui concerne votre compte : hébergement, domaines, factures. Avec historique et pièces jointes.

    Ouvrir un ticket
  • E-mail

    Pour les questions avant commande et les devis.

    support@hoston.ch

    Écrire un e-mail
  • WhatsApp

    Pour les questions courtes. N'envoyez ni mots de passe ni données clients.

    Envoyer un message

Vérifiez d'abord : y a-t-il une panne en cours ?

status.hoston.ch

Nous contacter · Service de migration · Outils