« Catégorie:N8N » : différence entre les versions

De Support SOFAKOM
(Page créée avec « = Installation = == Sur serveur Ubuntu == === NODE === curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash nvm install 22 nvm current === n8n === export N8N_SECURE_COOKIE="false" npx n8n === En tant que service === ==== Premier lancement comme root ==== sudo nano /etc/systemd/system/n8n.service [Unit] Description=n8n After=network.target [Service] ExecStart=/home/aeyos/.nvm/versions/node/v22.13.1/bin/n8n #WorkingDirect... »)
 
Aucun résumé des modifications
Ligne 45 : Ligne 45 :
  sudo systemctl restart n8n.service
  sudo systemctl restart n8n.service
  sudo systemctl status n8n.service
  sudo systemctl status n8n.service
== Dans un conteneur docker ==
=== Exemple de fichier docker-compose.yml ===
version: "3.8"
services:
  # ===================== N8N =====================
  n8n:
    image: n8nio/n8n
    container_name: n8n
    environment:
      DB_TYPE: mysqldb
      DB_MYSQLDB_HOST: mysql
      DB_MYSQLDB_PORT: 3306
      DB_MYSQLDB_DATABASE: n8n
      DB_MYSQLDB_USER: n8n
      DB_MYSQLDB_PASSWORD: XXXXXXXXXXXXXXX
      N8N_BASIC_AUTH_ACTIVE: "true"
      N8N_BASIC_AUTH_USER: admin
      N8N_BASIC_AUTH_PASSWORD: YYYYYYYYYYYYYY
      N8N_HOST: webiciel.pyrostech.net
      WEBHOOK_URL: https://webiciel.pyrostech.net/
      GENERIC_TIMEZONE: Europe/Paris
      N8N_DEFAULT_LOCALE: fr
      N8N_RUNNERS_ENABLED: "true"
      N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: "false"
    restart: unless-stopped
    volumes:
      - /opt/projects/data/n8n_config:/home/node/.n8n
      - /opt/projects/data/n8n_node_modules:/usr/local/lib/node_modules
    networks:
      - n8n
    depends_on:
      - mysql
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.n8n.rule=Host(`webiciel.pyrostech.net`)"
      - "traefik.http.routers.n8n.entrypoints=websecure"
      - "traefik.http.routers.n8n.tls.certresolver=letsencrypt"
      - "traefik.http.services.n8n.loadbalancer.server.port=5678"
  # ===================== Traefik =====================
  traefik:
    image: traefik:v2.10
    restart: unless-stopped
    container_name: traefik
    command:
      - "--providers.docker=true"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.letsencrypt.acme.httpchallenge=true"
      - "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web"
      - "--certificatesresolvers.letsencrypt.acme.email=ghyslain.daubeze@sofakom.fr"
      - "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
      - "--api.dashboard=true"
    ports:
      - "80:80"
      - "443:443"
      - "8080:8080"  # interface Traefik
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
      - "/opt/projects/data/:/letsencrypt"
    networks:
      - n8n
    restart: always
networks:
  n8n:
Il conviendra de créer les dossiers locaux correspondant au montage, ici :
/opt/projects/data/n8n_config
/opt/projects/data/n8n_node_modules
=== Ajout de module node ===
Exemple pour le module web_push afin qu'il soit exploitable dans un noeud "Code" de n8n :
docker exec -it nom_de_votre_conteneur_n8n /bin/sh -c "npm install -g web-push"
Dans le noeud "Code" il suffit de le déclarer ensuite pour pouvoir l'utiliser :
const webpush = require('web-push');


= Ressources =
= Ressources =

Version du 7 mai 2025 à 08:49

Installation

Sur serveur Ubuntu

NODE

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
nvm install 22
nvm current

n8n

export N8N_SECURE_COOKIE="false"
npx n8n

En tant que service

Premier lancement comme root

sudo nano /etc/systemd/system/n8n.service
[Unit]
Description=n8n
After=network.target

[Service]
ExecStart=/home/aeyos/.nvm/versions/node/v22.13.1/bin/n8n
#WorkingDirectory=/home/aeyos
Restart=always
User=root
Environment=PATH=/usr/bin:/usr/local/bin:/home/aeyos/.nvm/versions/node/v22.13.1/bin
Environment=NODE_ENV=production
Environment=N8N_SECURE_COOKIE=false # permet un access en http, utile pour tester au debut avant la mise en place de letsencrypt
# Environment=N8N_PORT=6254 # 5678 par defaut
Environment=N8N_PAYLOAD_SIZE_MAX=200 #16Mo par defaut , voir https://docs.n8n.io/hosting/configuration/environment-variables/endpoints/

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable n8n.service
sudo systemctl restart n8n.service
sudo systemctl status n8n.service

Autre lancement comme aeyos

sudo nano /etc/systemd/system/n8n.service
User=aeyos
sudo systemctl daemon-reload
sudo systemctl restart n8n.service
sudo systemctl status n8n.service

Dans un conteneur docker

Exemple de fichier docker-compose.yml

version: "3.8"
services:
 # ===================== N8N =====================
 n8n:
   image: n8nio/n8n
   container_name: n8n
   environment:
     DB_TYPE: mysqldb
     DB_MYSQLDB_HOST: mysql
     DB_MYSQLDB_PORT: 3306
     DB_MYSQLDB_DATABASE: n8n
     DB_MYSQLDB_USER: n8n
     DB_MYSQLDB_PASSWORD: XXXXXXXXXXXXXXX
     N8N_BASIC_AUTH_ACTIVE: "true"
     N8N_BASIC_AUTH_USER: admin
     N8N_BASIC_AUTH_PASSWORD: YYYYYYYYYYYYYY
     N8N_HOST: webiciel.pyrostech.net
     WEBHOOK_URL: https://webiciel.pyrostech.net/
     GENERIC_TIMEZONE: Europe/Paris
     N8N_DEFAULT_LOCALE: fr
     N8N_RUNNERS_ENABLED: "true"
     N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: "false"
   restart: unless-stopped
   volumes:
     - /opt/projects/data/n8n_config:/home/node/.n8n
     - /opt/projects/data/n8n_node_modules:/usr/local/lib/node_modules
   networks:
     - n8n
   depends_on:
     - mysql
   labels:
     - "traefik.enable=true"
     - "traefik.http.routers.n8n.rule=Host(`webiciel.pyrostech.net`)"
     - "traefik.http.routers.n8n.entrypoints=websecure"
     - "traefik.http.routers.n8n.tls.certresolver=letsencrypt"
     - "traefik.http.services.n8n.loadbalancer.server.port=5678"

 # ===================== Traefik =====================
 traefik:
   image: traefik:v2.10
   restart: unless-stopped
   container_name: traefik
   command:
     - "--providers.docker=true"
     - "--entrypoints.web.address=:80"
     - "--entrypoints.websecure.address=:443"
     - "--certificatesresolvers.letsencrypt.acme.httpchallenge=true"
     - "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web"
     - "--certificatesresolvers.letsencrypt.acme.email=ghyslain.daubeze@sofakom.fr"
     - "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
     - "--api.dashboard=true"
   ports:
     - "80:80"
     - "443:443"
     - "8080:8080"  # interface Traefik
   volumes:
     - "/var/run/docker.sock:/var/run/docker.sock:ro"
     - "/opt/projects/data/:/letsencrypt"
   networks:
     - n8n
   restart: always

networks:
 n8n:

Il conviendra de créer les dossiers locaux correspondant au montage, ici :

/opt/projects/data/n8n_config
/opt/projects/data/n8n_node_modules

Ajout de module node

Exemple pour le module web_push afin qu'il soit exploitable dans un noeud "Code" de n8n :

docker exec -it nom_de_votre_conteneur_n8n /bin/sh -c "npm install -g web-push"

Dans le noeud "Code" il suffit de le déclarer ensuite pour pouvoir l'utiliser :

const webpush = require('web-push');

Ressources

Pages dans la catégorie « N8N »

Cette catégorie comprend 5 pages, dont les 5 ci-dessous.