Configurer Ubuntu 24.04 + n8n pour une utilisation avec SSL (Certificat SSL de Let's Encrypt)
Veuillez utiliser la fonction « Imprimer » au bas de la page pour créer un PDF.
Pour VPS et Serveur Cloud migré
Dans cet article, vous apprendrez tout d'abord comment installer l'image Ubuntu 24.04 + n8n sur votre serveur. n8n est mis à disposition dans le cadre de l'installation dans un container Docker. L'image n8n mise à disposition par IONOS ne contient pas de certificat SSL pour l'adresse IP fournie, de sorte que seul un accès via le protocole HTTP non chiffré est possible dans un premier temps. Pour pouvoir accéder à n8n via une connexion cryptée, une configuration manuelle est nécessaire. La manière de préparer la configuration et de configurer n8n est expliquée dans la suite de l'article.
Résumé des étapes nécessaires
Les étapes nécessaires sont brièvement décrites ci-dessous :
- Installer l'image sur le serveur.
- Préparer la configuration.
- Établir une connexion SSH au serveur.
- Configurer n8n pour la connexion SSL.
- Accéder à l'interface n8n.
Attention
Si vous réinstallez une image sur un serveur existant, toutes les données existantes sur le serveur seront irrémédiablement supprimées et remplacées par les données de la nouvelle image installée. Ce processus ne peut pas être annulé. Assurez-vous de faire une sauvegarde du serveur avant d'installer l'image. Dans le cas contraire, vous risquez de perdre des données.
Installer une image sur le serveur
Pour installer l'image Ubuntu 24.04 + n8n, procédez comme suit :
- Connectez-vous à votre compte IONOS.
Dans la barre de titre, cliquez sur Menu > Serveurs & Cloud.
Facultatif : Si vous avez plus d'un contrat Serveurs et Cloud, sélectionnez celui que vous souhaitez. Si vous n'avez qu'un seul contrat, il sera ouvert directement.
- Dans la section Infrastructure > Serveurs, cliquez sur le serveur souhaité.
- Cliquez sur Actions.
- Cliquez sur Réinstaller une image. La zone Réinstaller une image s'affiche.

- Dans la vignette Ubuntu, cliquez sur la flèche vers le bas.
- Sélectionnez l'image Ubuntu 24.04 + n8n.
- Cliquez sur Réinstaller l'image. L'image est alors installée. Ce processus peut prendre quelques minutes.
- Notez l'adresse IP du serveur. Celle-ci sera nécessaire par la suite pour connecter votre domaine.
Préparer la configuration
Pour établir une connexion chiffrée avec n8n, il faut un domaine auquel on peut accéder. De plus, un certificat SSL est nécessaire pour le domaine.
Commander un domaine
Si vous n'avez pas encore commandé de domaine pour votre serveur, vous pouvez en commander un à tout moment. Vous trouverez des instructions dans l'article suivant du Centre d'Assistance : Commander un domaine en tant que client IONOS
Créer un sous-domaine
Créez un sous-domaine dans le format suivant : n8n.exemple.com
Remplacez ici le caractère de remplacement example.com par le domaine que vous avez choisi. L'article suivant du Centre d'Assistance explique comment créer un sous-domaine dans votre compte IONOS : Créer un sous-domaine
Connecter le domaine à l'adresse IP statique du serveur
Vous trouverez des instructions sur la manière de connecter votre domaine à l'adresse IP statique de votre serveur dans l'article suivant du Centre d'Assistance : Modifier l'adresse IPv4/IPv6 d'un domaine (enregistrement A/AAAA)
Configurer le pare-feu
Assurez-vous que les ports suivants sont activés dans la stratégie de pare-feu :
Port 80
Port 443
Port 5678
Vous trouverez des instructions dans l'article suivant du Centre d'Assistance : Modifier la politique de pare-feu (VPS et Serveur Cloud migré)
Établir une connexion SSH avec le serveur
Dans l'étape suivante, établissez une connexion SSH avec votre serveur. Connectez-vous en tant que root. Vous trouverez des instructions à ce sujet dans les articles suivants du Centre d'Assistance :
Établir une connexion SSH à votre serveur Linux sur un ordinateur équipé de Microsoft Windows
Établir une connexion SSH à votre serveur Linux sur un ordinateur Linux
Configurer n8n pour une connexion SSL
Attention
Ces étapes désactivent l'instance non sécurisée installée et installent une nouvelle instance n8n sécurisée par un certificat SSL de Let's Encrypt. Si vous effectuez ces étapes après avoir travaillé pendant un certain temps avec l'instance non sécurisée, nous vous recommandons d'exporter d'abord les éventuels workflows et autres contenus créés afin de pouvoir les importer dans la nouvelle instance. Vous apprendrez ici comment cela fonctionne dans la documentation de n8n : Exporting and importing workflows | n8n Docs
Pour créer un nouveau répertoire nommé n8n-compose sur votre serveur, saisissez la commande suivante :
root@ubuntu:~# mkdir n8n-compose
Pour continuer à travailler dans le répertoire nouvellement créé, basculez dans le nouveau répertoire :
root@ubuntu:~# cd n8n-compose
Dans ce répertoire, créez un fichier avec l'extension .env à l'aide de l'éditeur vi. Ce fichier sera utilisé pour définir les variables d'environnement qui seront utilisées dans le fichier Docker Compose.
root@ubuntu:~/n8n-compose# vi .env
Remarques
L'éditeur vi dispose d'un mode d'insertion et d'un mode de commande ou d'instruction. Vous pouvez accéder au mode d'insertion en appuyant sur la touche [i]. Dans ce mode, les caractères saisis sont immédiatement insérés dans le texte. Pour quitter le mode d'insertion et accéder au mode de commande, appuyez ensuite sur [ESC]. Lorsque vous utilisez le mode commande, vos saisies au clavier sont interprétées comme des commandes.
Dans le fichier .env, insérez les informations ci-dessous et remplacez les caractères génériques example.com et le caractère générique du fuseau horaire. Ces variables seront référencées ultérieurement dans le fichier compose.yaml et serviront à définir les paramètres du domaine, la norme de fuseau horaire souhaitée et l'adresse électronique pour les certificats SSL.
# DOMAIN_NAME and SUBDOMAIN together determine where n8n will be reachable from
# The top level domain to serve from
DOMAIN_NAME=example.com
# The subdomain to serve from
SUBDOMAIN=n8n
# The above example serves n8n at: https://n8n.example.com
# Optional timezone to set which gets used by Cron and other scheduling nodes
# New York is the default value if not set
GENERIC_TIMEZONE=Europe/Berlin
# The email address to use for the TLS/SSL certificate creation
SSL_EMAIL=user@example.com- Remplacez le caractère générique user@example.com dans la ligne SSL_EMAIL.
- Appuyez sur la touche [ESC].
Pour quitter vi et enregistrer le fichier, saisissez la commande suivante et appuyez ensuite sur la touche Entrée :
root@ubuntu:~# :wq
Créez un répertoire appelé local-files. Celui-ci sera utilisé comme montage de liaison pour permettre l'accès aux fichiers à partir du conteneur. Pour cela, saisissez la commande suivante :
root@ubuntu:~/n8n-compose# mkdir local-files
Pour créer le fichier composite Docker nécessaire, saisissez la commande suivante :
root@ubuntu:~/n8n-compose# vi compose.yaml
Ajoutez maintenant les informations ci-dessous :
services:
traefik:
image: "traefik"
restart: always
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
- "--entrypoints.web.http.redirections.entrypoint.scheme=https"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.mytlschallenge.acme.tlschallenge=true"
- "--certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}"
- "--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json"
ports:
- "80:80"
- "443:443"
volumes:
- traefik_data:/letsencrypt
- /var/run/docker.sock:/var/run/docker.sock:ro
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- "127.0.0.1:5678:5678"
labels:
- traefik.enable=true
- traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
- traefik.http.routers.n8n.tls=true
- traefik.http.routers.n8n.entrypoints=web,websecure
- traefik.http.routers.n8n.tls.certresolver=mytlschallenge
- traefik.http.middlewares.n8n.headers.SSLRedirect=true
- traefik.http.middlewares.n8n.headers.STSSeconds=315360000
- traefik.http.middlewares.n8n.headers.browserXSSFilter=true
- traefik.http.middlewares.n8n.headers.contentTypeNosniff=true
- traefik.http.middlewares.n8n.headers.forceSTSHeader=true
- traefik.http.middlewares.n8n.headers.SSLHost=${DOMAIN_NAME}
- traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true
- traefik.http.middlewares.n8n.headers.STSPreload=true
- traefik.http.routers.n8n.middlewares=n8n@docker
environment:
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
- N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
- N8N_PORT=5678
- N8N_PROTOCOL=https
- N8N_RUNNERS_ENABLED=true
- NODE_ENV=production
- WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
- TZ=${GENERIC_TIMEZONE}
volumes:
- n8n_data:/home/node/.n8n
- ./local-files:/files
volumes:
n8n_data:
traefik_data:
Remarque
L'entrée - "--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json" doit tenir sur une ligne.
- Appuyez sur la touche [ESC].
Pour quitter vi et enregistrer le fichier, saisissez la commande suivante et appuyez ensuite sur la touche Entrée :
:wq
Pour savoir quel processus utilise le port 5678, saisissez la commande suivante :
root@ubuntu:~/n8n-compose# sudo lsof -i :5678
Pour mettre fin à un processus, adaptez la commande suivante et saisissez-la :
root@ubuntu:~/n8n-compose# sudo kill INSÉRER_ICI_LE_PID
Une fois la personnalisation terminée, saisissez la commande suivante pour arrêter les anciens conteneurs :
root@ubuntu:~/n8n-compose# docker compose down
Pour lancer les conteneurs définis dans compose.yaml en tant que démons en arrière-plan, saisissez la commande ci-dessous. Cette commande permet de démarrer et de configurer les instances de Traefik et de n8n.
root@ubuntu:~/n8n-compose# docker compose up -d
Pour vérifier si les conteneurs fonctionnent, saisissez la commande suivante :
root@ubuntu:~/n8n-compose# docker ps
Vérifiez que les 2 conteneurs suivants fonctionnent et que leur statut est "UP". Pour ce faire, saisissez les commandes suivantes.
root@ubuntu:~/n8n-compose# n8n-compose-traefik-1
root@ubuntu:~/n8n-compose# n8n-compose-n8n-1
Accéder à l'interface n8n
Une fois que les services Docker (conteneurs) ont été lancés avec succès, l'accès à n8n est géré par le proxy Traefik. Traefik assure le chiffrement SSL et transmet les demandes à votre instance n8n. L'accès se fait maintenant exclusivement via le domaine que vous avez configuré auparavant dans le fichier .env.
Remarque
L'accès direct via http://SERVER-IP:5678 n'est plus possible. La configuration dans compose.yaml (sous ports : - "127.0.0.1:5678:5678") fait en sorte que n8n ne soit accessible qu'en "interne" (pour Traefik), mais pas publiquement via l'IP du serveur.
- Ouvrez votre navigateur.
- Saisissez l'URL complète et sécurisée, composée des variables SUBDOMAIN et DOMAIN_NAME de votre fichier .env. Exemple : https://n8n.exemple.com
- Lors de la première connexion, la fenêtre Set up owner account s'affiche. Dans le champ Email, saisissez l'adresse e-mail souhaitée.
- Dans les champs First Name et Last Name, saisissez le prénom et le nom de famille souhaités.
- Dans le champ Password, saisissez un mot de passe.
- Cliquez sur Next. La fenêtre Customize n8n to you s'ouvre.

- Répondez aux questions dans la fenêtre Customize n8n to you et cliquez sur Get started. Vous pouvez ensuite utiliser n8n.
