Aller au contenu principal

n8n - Installation

1. Description​

Info

Page en cours de rédaction...

2. Informations​

2.1. n8n1.home.lab​

Caractéristiques
RAM2 Go
CPU2 coeurs
Disque10 Go
IP admin192.168.50.31

2.2. Fichier terraform main.tf​

module "n8n1" {
# module proxmox
source = "../../modules/proxmox"
# proxmox
pm_api_token = var.pm_api_token
# tofu
vm_hostname = "n8n1"
vm_domain = "home.lab"
vm_tags = [ "almalinux9", "devops" ]
# cloud-init
vm_ipv4_address = "192.168.50.31/24"
vm_ipv4_gateway = "192.168.50.201"
# hardware
vm_memory = 2048
}

3. Installation​

3.1. Installer les packages podman et podman-compose​

$ sudo yum install epel-release
$ sudo yum install podman podman-compose

3.2. Configurer les permissions pour podman en mode 'rootless'​

$ sudo usermod --add-subuids 100000-165535 --add-subgids 100000-165535 $USER
$ podman system migrate

3.3. Créer le répertoire /opt/n8n pour stocker les fichiers n8n​

$ sudo mkdir /opt/n8n
$ sudo chown $USER /opt/n8n
$ mkdir -p /opt/n8n/caddy_data
$ mkdir -p /opt/n8n/caddy_config
$ mkdir -p /opt/n8N/n8n_data

3.4. Créer le fichier podman-compose.yml​

version: "3.7"

services:
caddy:
image: caddy:latest
restart: unless-stopped
ports:
- "8080:80"
- "8443:443"
volumes:
- ./caddy_data:/data
- ./caddy_config:/config
- ./caddy_config/Caddyfile:/etc/caddy/Caddyfile

n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- 5678:5678
environment:
- N8N_HOST=n8n1.home.lab
- N8N_PORT=5678
- N8N_PROTOCOL=https
- N8N_SECURE_COOKIE=true
- NODE_ENV=production
- WEBHOOK_URL=https://n8n1.home.lab/
- GENERIC_TIMEZONE=Europe/Paris
- TZ=Europe/Paris
volumes:
- ./n8n_data:/home/node/.n8n
- ./local_files:/files

3.5. Créer le fichier caddy_config/Caddyfile​

n8n1.home.lab {
reverse_proxy n8n:5678 {
flush_interval -1
}
}

3.6. Ouvrir le port 5678/tcp et 8443/tcp sur firewalld​

$ sudo firewall-cmd --permanent --add-port=5678/tcp
$ sudo firewall-cmd --permanent --add-port=8443/tcp
$ sudo firewall-cmd --reload

3.7. Tester en mode non sécurisé (HTTP)​

  • Pour tester rapidement n8n, j'utilise dans un premier temps le mode non sécurisé en HTTP (par défaut, les cookies ne sont envoyés que sur HTTPS)
    • La liste des variables d'environnement est listée ici
$ cd /opt/n8n
$ podman volume create n8n_data
$ podman run -it --rm \
--name n8n -p 5678:5678 \
-v n8n_data:/home/node/.n8n \
-e GENERIC_TIMEZONE="Europe/Paris" \
-e TZ="Europe/Paris" \
-e N8N_SECURE_COOKIE=false \
docker.n8n.io/n8nio/n8n

3.8. Test en mode sécurisé (HTTPS)​

  • To Be Done

4. Configuration​

  • Créer un compte local

  • Après avoir créé son compte, vous avez accès à la page d'accueil ci-dessous
    • et vous pouvez commencer à créer vos workflows d'automatisation !

5. Ressources​