Comment installer n8n sur un VPS OVHcloud

Base de connaissances

Comment installer n8n sur un VPS OVHcloud


Icons/System/eye-open Created with Sketch. 66 vues 23.09.2025 Cloud / Serveurs privés virtuels

Objectif

Ce guide vous explique comment installer et exécuter n8n, une plateforme open source d’automatisation de workflows, sur un VPS OVHcloud. L’installation manuelle s’appuie sur Docker, avec le serveur Traefik pour gérer automatiquement les certificats SSL. Pour une mise en route clé en main, optez pour un VPS n8n préinstallé OVHcloud.

Prérequis

  • Disposer d'un VPS fonctionnel (Debian 11 ou supérieur recommandé)
  • Disposer d'un nom de domaine
  • Disposer d'un accès administrateur (sudo) via SSH à votre serveur

En pratique

Sommaire

Se connecter à votre VPS

Ouvrez un terminal et connectez-vous à votre VPS avec la commande suivante (en remplaçant IP_DU_VPS par la véritable IP) :

ssh <user>@IP_VPS

Vous utilisez une image OVHcloud préinstallée

Si vous avez choisi un VPS OVHcloud avec l’image n8n préinstallée, vous n’avez pas besoin d’installer Docker ni Docker Compose : ces outils sont déjà présents et configurés.

Retrouvez tous les fichiers nécessaires (y compris docker-compose.yml et .env) dans le dossier /home/debian/n8n/ sur votre VPS.

Dirigez-vous dans le dossier /home/debian/n8n/ et modifiez le fichier .env :

cd /home/debian/n8n/
nano .env

Renseignez-y les informations suivantes :

  • DOMAIN_NAME : votre nom de domaine (ex : vps.ovh.net).
  • SUBDOMAIN : le sous-domaine utilisé pour accéder à n8n (ex : vps-xxxxxxx).
  • SSL_EMAIL : l’adresse e-mail utilisée pour générer les certificats SSL via Let’s Encrypt.

Une fois le fichier .env mis à jour, exécutez la commande suivante (depuis le dossier /home/debian/n8n/) :

docker compose up -d

Vous n'utilisez pas d'image OVHcloud préinstallée

Installer Docker et Docker Compose

Pour déployer n8n via Docker sur un VPS OVHcloud, Docker et Docker Compose doivent être installés. Cette méthode est compatible avec la majorité des distributions proposées par OVHcloud (Debian 11, Debian 12, Ubuntu 22.04...).

Étape 1 - Mettez le système à jour
sudo apt update && sudo apt upgrade -y
Étape 2 - Ajouter la clé GPG officielle de Docker
sudo apt install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Étape 3 - Ajouter le dépôt Docker

Pour Debian (version 11 et 12) :

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Pour Ubuntu (version égale ou supérieure à 22.04) :

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Étape 4 - Installer Docker Engine et Docker Compose Plugin
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Étape 5 - Vérifier que Docker et Docker Compose fonctionnent
docker --version
docker compose version

Préparer la configuration Traefik + n8n

Créez un dossier de projet où résidera la stack Docker :

mkdir n8n-traefik && cd n8n-traefik

Créer les fichiers de configuration

Fichier .env

Ce fichier vous permet de définir les variables réutilisées dans le fichier docker-compose.yml.

Créez le fichier :

nano .env

Collez-y le contenu suivant :

DOMAIN_NAME=exemple.com
SUBDOMAIN=n8n
SSL_EMAIL=admin@exemple.com

Remplacez exemple.com par votre véritable nom de domaine et admin@exemple.com par l'e-mail de votre choix.

Si vous ne possédez pas encore de nom de domaine, commandez-en un sur notre site web.

Fichier docker-compose.yml

Ce fichier contient la définition des services n8n et Traefik. Il configure notamment :

  • Le reverse proxy et la gestion SSL avec Traefik.
  • L’authentification de base pour accéder à n8n.

Créez le fichier :

nano docker-compose.yml

Collez le contenu suivant :

services:
  traefik:
    image: traefik:v2.11
    container_name: traefik
    restart: always
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.myresolver.acme.httpchallenge=true"
      - "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web"
      - "--certificatesresolvers.myresolver.acme.email=${SSL_EMAIL}"
      - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
      - "./letsencrypt:/letsencrypt"
    labels:
      - "traefik.http.routers.http-catch.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)"
      - "traefik.http.routers.http-catch.entrypoints=web"
      - "traefik.http.routers.http-catch.middlewares=redirect-to-https"
      - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"

  n8n:
    image: n8nio/n8n
    container_name: n8n
    restart: always
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=admin123
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)"
      - "traefik.http.routers.n8n.entrypoints=websecure"
      - "traefik.http.routers.n8n.tls.certresolver=myresolver"
      - "traefik.http.services.n8n.loadbalancer.server.port=5678"
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:

Par défaut, l’utilisateur et le mot de passe sont définis sur admin / admin123. Cette méthode n’est pas activée dans toutes les versions de n8n. Si vous souhaitez l’utiliser malgré tout, pensez à modifier ces valeurs dans le fichier docker-compose.yml avant de lancer la stack, et utilisez un mot de passe fort.

Préparer le dossier des certificats SSL

Traefik stocke les certificats générés par Let's Encrypt dans un fichier nommé acme.json. Ce fichier doit exister avant le lancement et avoir des permissions strictes.

Créez le dossier :

mkdir letsencrypt

Créez le fichier vide :

touch letsencrypt/acme.json
chmod 600 letsencrypt/acme.json

Démarrer les services

Lancez la stack avec Docker Compose :

docker compose up -d

Configuration DNS

Assurez-vous que votre sous-domaine (ex : n8n.exemple.com) pointe bien vers l’adresse IP de votre VPS dans la zone DNS. Pour plus de détails, consultez notre guide « Éditer une zone DNS OVHcloud ».

Si vous ne possédez pas encore de nom de domaine, commandez-en un sur notre site web.

Accéder à l’interface n8n

Accédez à n8n dans un navigateur via l'URL https://n8n.exemple.com/. Remplacez n8n.exemple.com par le domaine réel que vous avez défini.

Depuis la version 1.0 de n8n, vous devez obligatoirement créer un compte administrateur lors du premier accès à votre instance auto-hébergée, même si vous avez déjà un compte sur n8n.cloud. Les comptes sont propres à chaque instance. Un compte créé sur votre VPS ne peut pas être utilisé sur une autre instance, même avec la même adresse e-mail.

Un formulaire de création de compte s'affiche. Complétez-le pour configurer le premier utilisateur administrateur de votre instance n8n.

Install n8n VPS

Vous êtes redirigé vers l’écran de connexion. Utilisez les identifiants définis précédemment.

Install n8n VPS

Conclusion

Vous disposez désormais d’une instance n8n opérationnelle et sécurisée sur votre VPS OVHcloud, avec une gestion automatique des certificats SSL grâce à Traefik. Pour aller plus loin, consultez la documentation officielle de n8n pour créer vos premiers workflows.

Aller plus loin

Éditer une zone DNS OVHcloud

Pour des prestations spécialisées (référencement, développement, etc), contactez les partenaires OVHcloud

Échangez avec notre communauté d'utilisateurs.

Articles associés