---
title: "Déployer une instance n8n en quelques minutes (avec Hidora)"
excerpt: "Dévouvrez comment déployer votre propre instance de n8n en quelques minutes (avec Hidora) et gardez la main sur vos données !"
publishDate: 2025-05-17T00:00:00.000Z
tags: ["n8n", "hidora", "workflow", "automation", "devops"]
canonical: "https://yoandev.co/deployer-n8n-hidora"
---

<YouTube id="qPykCKvKZj0" />

_Article en collaboration commerciale avec [Hidora]( https://bit.ly/4jXrkvL)_

## C'est quoi n8n ?

**n8n** est une plateforme de workflow open source, à l'instar de [Zapier](https://zapier.com) ou [Make](https://www.make.com).

Comme toutes les plateformes de ce type, **n8n** permet de créer des workflows (visuellement et en no-code), c'est-à-dire des séquences d'actions à effectuer.

Ces actions peuvent être de différents types, par exemple :

- Récupérer des données depuis une API
- Envoyer un email
- Utiliser un LLM
- Créer un fichier sur un Drive
- ...

La force de **n8n** réside dans son immense écosystème, et en particulier dans le nombre d'intégrations (c'est le terme pour désigner une action pour intégrer un service tiers), d'outil de création d'agents IA, et même de templates de workflows prêts à l'emploi.

Pour vous en convaincre, voici une liste non exhaustive de ressources disponibles pour vous inspirer :

- [Templates](https://n8n.io/workflows/)
- [AI](https://n8n.io/ai/)
- [Intégrations](https://n8n.io/integrations/)

## Déployer n8n en version "self-hosted"

Par défaut, et si l'idée de gérer vous-même votre propre instance vous fait peur, vous pouvez utiliser cloud de n8n, c'est-à-dire une instance de n8n gérée par n8n, avec un nombre d'éxécutions limité en fonction du plan choisi.
Mais si vous souhaitez avoir votre propre instance, pour garder la main sur vos données, pour éxécuter des workflows de manière illimitée, vous pouvez déployer n8n vous-même.

### Tester n8n en local

Pour tester n8n en local, pas besoin d'un serveur, juste d'un ordinateur avec [Docker](https://www.docker.com) installé.
C'est la méthode la plus simple pour vous familiariser avec n8n.

#### Avec une base de données SQLite

Pour tester, c'est très simple, il suffit d'exécuter la commande suivante :

```bash
docker volume create n8n_data

docker run -it --rm \
 --name n8n \
 -p 5678:5678 \
 -v n8n_data:/home/node/.n8n \
 docker.n8n.io/n8nio/n8n
```

> Cette première commande vous permet de lancer une instance de n8n qui utilisera une base de données SQLite pour stocker et organiser vos workflows.
> Ce n'est évidemment pas la méthode recommandée pour un usage en production, mais c'est une excellente façon de tester n8n en local.

#### Avec une base de données PostgreSQL

Pour tester n8n avec une base de données PostgreSQL, nous allons nous créer un fichier `compose.yml` pour lancer les conteneurs nécessaires, ce sera plus propre qu'une suite de commandes Docker.

Créons un fichier `compose.yml` :

```bash
touch compose.yml
```

Puis ajoutons le contenu suivant :

```yaml
volumes:
  db_storage:
  n8n_storage:

services:
  postgres:
    image: postgres:16
    restart: always
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=postgres

    volumes:
      - db_storage:/var/lib/postgresql/data
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready -h localhost -U postgres -d postgres']
      interval: 5s
      timeout: 5s
      retries: 10

  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=postgres
      - DB_POSTGRESDB_USER=postgres
      - DB_POSTGRESDB_PASSWORD=postgres
    ports:
      - 5678:5678
    links:
      - postgres
    volumes:
      - n8n_storage:/home/node/.n8n
    depends_on:
      postgres:
        condition: service_healthy
```

Puis exécutons la commande suivante pour lancer les conteneurs :

```bash
docker compose up -d
```

Vous pouvez maintenant accéder à l'interface de n8n sur [http://localhost:5678](http://localhost:5678).

> Cette méthode est plus propre et plus proche d'un déploiement en production.
> Nous verrons plus loin comment déployer n8n en production (avec [Hidora]( https://bit.ly/4jXrkvL))

## Déployer n8n en production

### Architecture cible

Pour déployer notre instance de n8n en production, nous allons créer une architecture simple, un load balancer/reverse proxy, une base de données PostgreSQL, et l'instance de n8n.

```mermaid
graph LR
  Internet[Internet]
  Proxy[Load Balancer / Reverse Proxy]
  DB[(PostgreSQL)]
  N8N[n8n]

  Internet --> Proxy
  Proxy --> N8N
  N8N --> DB
```

> Le load balancer/reverse proxy est optionnel, mais il est conseillé de l'utiliser pour gérer le trafic entrant et sortant de votre instance de n8n, lui confier la gestion des certificats SSL, d'éventuelles règles de sécurité, etc.

### Déployer n8n avec Hidora

Hidora opère une plateforme qui s'appuie sur [Jelastic/Virtuozzo Application Platform](https://www.virtuozzo.com/application-platform/), une plateforme de PaaS (Platform as a Service) très puissante et très simple d'utilisation.

> J'en profite pour mettre un coup de projecteur sur [Hidora]( https://bit.ly/4jXrkvL) qui offre un service client de haute qualité, avec une équipe disponible et compétente pour vous accompagner dans vos projets cloud (Kubernetes, Docker, etc.).

#### Créer un fichier de manifeste

La plateforme d'Hidora vous permet de créer vos environnements de manière visuelle, mais nous allons utiliser un fichier de manifeste pour déployer notre instance de n8n en un tour de main.

Créons un fichier `manifest.yml` :

```yaml
# Deploy n8n with PostgreSQL and Nginx on Jelastic
# Author: YoanDev - https://yoandev.co
# Date: 2025-05-08

type: install

name: Simple n8n Stack
id: simple-n8n-stack

description: Deploy n8n with PostgreSQL and Nginx on Jelastic

categories:
  - application
  - automation
  - integration

ssl: true

settings:
  fields:
  - type: string
    name: DOMAIN
    caption: Domain name (without https://)
  - type: string
    name: URL
    caption: URL of the n8n instance (with https://)

globals:
  DB_PASS: "${fn.password(10)}"

nodes:
  - nodeType: nginx
    nodeGroup: bl
    count: 1
    cloudlets: 8
    fixedCloudlets: 1
    displayName: LoadBalancer

  - nodeType: postgres15
    count: 1
    cloudlets: 8
    fixedCloudlets: 1
    nodeGroup: sqldb
    displayName: postgresql
    isSLBAccessEnabled: false
    password: ${globals.DB_PASS}
    volumes:
      - /var/lib/postgresql/data

  - image: n8nio/n8n:latest
    cloudlets: 12
    fixedCloudlets: 2
    isSLBAccessEnabled: false
    nodeGroup: cp
    volumes:
        - /home/
    env:
      DB_TYPE: postgresdb
      DB_POSTGRESDB_HOST: sqldb
      DB_POSTGRESDB_PORT: "5432"
      DB_POSTGRESDB_DATABASE: postgres
      DB_POSTGRESDB_USER: webadmin
      DB_POSTGRESDB_PASSWORD: ${globals.DB_PASS}
      DOCKER_EXPOSED_PORT: "5678"
      WEBHOOK_URL: ${settings.URL}
      N8N_HOST: ${settings.DOMAIN}
      N8N_EDITOR_BASE_URL: ${settings.URL}
      N8N_PROTOCOL: https
      N8N_RUNNERS_ENABLED: true
      N8N_PROXY_HOPS: 1
```

Quelques explications sur des points importants du fichier de manifeste :

- `type: install` : indique que nous allons installer un environnement
- `ssl: true` : indique que nous allons utiliser SSL pour l'environnement
- `settings` : les paramètres de l'environnement
  - `fields` : les champs de configuration qui nous seront demandés lors de la création de l'environnement
    - `name: DOMAIN` : le nom de domaine de l'environnement
    - `name: URL` : le nom du champ
- `globals` : les variables globales qui seront utilisées lors de la création de l'environnement
  - `DB_PASS` : généré automatiquement par Hidora et réutilisé pour la base de données PostgreSQL et configurer la connexion de n8n à la base de données
- `nodes` : les noeuds qui composent l'environnement
  - `nodeType: nginx` : Load Balancer/Reverse Proxy fourni par Hidora
  - `nodeType: postgres15` : Base de données PostgreSQL fournie par Hidora
  - `image: n8nio/n8n:latest` : Image de n8n fournie par Hidora
  - `cloudlets` : Unités de ressources MAX pour le noeud (Ram, Cpu, etc.)
  - `fixedCloudlets` : Unités de ressources MIN pour le noeud (Ram, Cpu, etc.)
  - `count` : Nombre de noeuds à créer horizontalement
  - `nodeGroup` : Groupe de noeuds (cp, bl, sqldb, etc.)
  - `volumes` : Volumes à monter sur le noeud
  - `env` : Variables d'environnement à passer à l'instance

#### Déployer l'environnement

> Il vous faudra vous connecter à votre compte Hidora pour déployer l'environnement.
> Si vous n'avez pas de compte, vous pouvez vous en créer [ici]( https://bit.ly/4jXrkvL/).

Pour déployer l'environnement, il suffit d'ouvrir une session sur la console Hidora, de cliquer sur le bouton "Importer", deux possibilités s'offrent à vous :
    - URL, en lui fournissant une URL vers le fichier `manifest.yml`. Je vous le donne ici : [https://raw.githubusercontent.com/yoanbernabeu/jps-n8n/refs/heads/main/manifest.yml](https://raw.githubusercontent.com/yoanbernabeu/jps-n8n/refs/heads/main/manifest.yml)
    - JPS, en copiant le contenu du fichier `manifest.yml` et en le collant dans le champ.

Il ne vous reste plus qu'à cliquer sur le bouton "Importation", renseigner les champs `DOMAIN` et `URL` (sans `https://`) et cliquer sur "Installer".
En moins de 5 minutes, votre instance de n8n sera accessible via le domaine que vous aurez renseigné.

> Pensez à créer immédiatement le compte admin de n8n !

## Conclusion

Finalement, déployer votre propre instance de n8n n'est pas si compliqué et effrayant qu'il n'y parait.
Apres avoir découvert comment l'éxécuter en local, nous avons vu comment le déployer en production avec Hidora, de manière simple et efficace.

Amusez-vous bien !

---

_Article en collaboration commerciale avec [Hidora]( https://bit.ly/4jXrkvL)_
