Installer n8n avec Docker, Apache et SSL sur Debian

Tutoriel complet pour installer n8n avec Docker, reverse proxy Apache et certificat SSL gratuit Let's Encrypt sur Debian en auto-hébergement.

Partager cet article

n8n est une plateforme d’automatisation open-source qui permet de connecter facilement des applications, API et services pour créer des workflows sans code. Ce guide vous montre comment déployer n8n sur un serveur Debian (versions 10, 11 ou 12) avec Docker, Apache en reverse proxy, et un certificat SSL automatique via Let’s Encrypt.

Pourquoi installer n8n soi-même ?

Auto-héberger n8n présente de nombreux avantages, notamment en matière de flexibilité, de sécurité, et surtout de coûts. Voici un comparatif des différentes solutions disponibles :

Comparatif économique : auto-hébergement vs cloud officiel n8n

SolutionCoût mensuelExécutionsWorkflows actifsHébergement
Auto-hébergé14,25 €*Illimité*Illimité*Serveur personnel
n8n Starter Cloud24 €2 5005n8n (cloud)
n8n Pro Cloud60 €10 00015n8n (cloud)

*Exemple basé sur un serveur privé virtuel (VPS) chez OVH avec 4 Go de RAM et 40 Go de stockage (4 Go RAM recommandé pour usage fluide).

Économisez jusqu’à 45 €/mois avec un auto-hébergement, tout en bénéficiant d’un contrôle total, de performances sur mesure et d’une confidentialité renforcée.

1. Prérequis

  • Debian 10, 11 ou 12
  • Accès root ou sudo
  • Ports 80 et 443 ouverts
  • Un nom de domaine ou sous-domaine pointant vers votre serveur (ex. : n8n.mondomaine.com)

2. Installer Docker et Docker Compose

sudo apt update && sudo apt upgrade -y
sudo apt install -y docker.io docker-compose
sudo service docker start

3. Préparer le dossier n8n

Lorsque vous créez le dossier n8n_data, il est important de vous assurer que les permissions sont correctement définies, en particulier si le service Docker exécute le conteneur avec un utilisateur spécifique (ex. : « debian »).

Création des dossiers

sudo mkdir -p /var/www/n8n
sudo chown $USER:$USER /var/www/n8n
cd /var/www/n8n
mkdir n8n_data

Attribution des droits

Si vous utilisez l’image officielle n8nio/n8n, le conteneur tourne avec l’utilisateur node (UID 1000). Si votre utilisateur local est aussi UID 1000, aucun changement n’est requis.

Sinon, donnez les droits à l’utilisateur qui exécute le conteneur (dans certains cas, « debian ») :

sudo chown -R 1000:1000 /var/www/n8n/n8n_data

4. Créer le fichier docker-compose.yml

version: '3.1'

services:
  n8n:
    image: n8nio/n8n
    restart: always
    ports:
      - 5678:5678
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=motDePasseFort
    volumes:
      - ./n8n_data:/home/node/.n8n

5. Lancer n8n

docker-compose up -d

6. Configurer Apache comme reverse proxy

Lorsque vous configurez Apache pour n8n, il est essentiel de créer un fichier de configuration spécifique à votre domaine dans le dossier /etc/apache2/sites-available/, puis de l’activer avec la commande a2ensite, qui crée un lien symbolique vers sites-enabled.

Créer le fichier de configuration Apache

Remplacez n8n.mondomaine.com par votre domaine réel.

sudo nano /etc/apache2/sites-available/n8n.mondomaine.conf

Contenu du fichier de configuration

<VirtualHost *:80>
    ServerName /n8n.mondomaine.com

    ProxyPreserveHost On
    ProxyPass / http://localhost:5678/
    ProxyPassReverse / http://localhost:5678/
</VirtualHost>

Activer le fichier de configuration

sudo a2ensite n8n.mondomaine.com
sudo service apache2 reload

7. Générer un certificat SSL avec Certbot (HTTPS)

sudo apt install -y certbot python3-certbot-apache
sudo certbot --apache

9. Vérifier le renouvellement automatique

sudo certbot renew --dry-run

10. Accéder à n8n

Allez sur https://n8n.mondomaine.com

Créez votre compte administrateur n8n à la première connexion.

11. Mettre à jour n8n

cd /var/www/n8n
docker-compose down
docker-compose pull
docker-compose up -d

En résumé

  • n8n (Docker) tourne sur le port 5678
  • Apache reverse-proxy votre sous-domaine vers ce port
  • Certbot gère le SSL et le renouvellement automatique du certificat
  • Accès à n8n via HTTPS, sans port dans l’URL
  • Pour aller plus loin : https://docs.n8n.io/

Foire aux questions (FAQ)

Pourquoi utiliser Docker pour installer n8n ?

Docker permet d’isoler n8n dans un conteneur léger, de simplifier la gestion des dépendances et d’assurer une mise à jour rapide. Cela évite les conflits avec d’autres services présents sur la machine.

Est-il obligatoire d’utiliser Apache comme reverse proxy ?

Non. Vous pouvez utiliser Nginx ou Traefik comme alternatives. Apache est choisi ici pour sa flexibilité et son intégration simple avec Certbot pour générer un certificat SSL.

Quel est l’avantage d’un certificat SSL automatique avec Let’s Encrypt ?

Cela permet d’obtenir gratuitement un certificat HTTPS et de le renouveler automatiquement tous les 90 jours. Ainsi, vous évitez les erreurs de certificat expiré et vous sécurisez les échanges avec votre instance n8n.

Quelle configuration serveur est recommandée pour n8n ?

Un serveur Debian avec au minimum :
2 Go de RAM
1 vCPU
20 Go d’espace disque
Ces specs suffisent pour une petite équipe. Pour un usage intensif (workflows lourds, multiples utilisateurs), il vaut mieux monter en puissance.

Comment mettre à jour n8n sans tout casser ?

Comment mettre à jour n8n sans tout casser ?
docker-compose pull
docker-compose up -d

Les données sont conservées dans le volume Docker, ce qui évite toute perte de configuration.

Peut-on installer plusieurs instances de n8n sur le même serveur ?

Oui, c’est possible en configurant des ports et des domaines différents pour chaque instance. Par contre, il faut prévoir plus de ressources mémoire et CPU pour éviter les ralentissements.

Autres articles

30 Raisons d’automatiser pour ne plus perdre de temps !

Arrête de perdre du temps sur des tâches répétitives. 30 raisons pour adopter l'automatisation et booster ta productivité dès maintenant.

15 Extensions Google Chrome pour gagner en productivité

Une sélection des meilleures extensions Chrome pour améliorer son expérience de navigation, sa concentration et augmenter son efficacité au travail.
Agence webNdev, le digital qui te démarque

Entre ton nom d'utilisateur et ton mot de passe pour te connecter à ton compte.