1000 FAQs, 500 tutorials and explanatory videos. Here, there are only solutions!
Install n8n via Docker image on Jelastic Cloud
This detailed guide explains the process for deploying the automation tool n8n using the official Docker image on your PaaS Jelastic Cloud platform at Infomaniak.
Preamble
- n8n is a Node.js application often deployed via Docker to ensure a consistent and isolated environment (containerization).
- The image used is n8nio/n8n, available on Docker Hub, ensuring a standardized installation.
- Although n8n uses SQLite for default storage, an external database (PostgreSQL or MariaDB) is mandatory for production to ensure performance, resilience, and scalability.
- The default internal listening port of n8n is 5678/TCP.
1. Creating the Jelastic environment, deploying the container
To set up the environment:
- Log in to the dashboard of your Jelastic Cloud.
- Click the New Environment button.
- In the topology selector:- Select the Docker Engine tab (the application container).
- In the Select Image field, use the search function to find and add the official image: n8nio/n8n(you can specify a tag likelatest).
 
- (Production recommendation): Add a database node.- Select the SQL node (e.g., PostgreSQL or MariaDB).
- Configure its resources (Cloudlets) and access credentials.
 
- Adjust the resources of the Docker container (n8n): set the number of Cloudlets (allocated resources) for the n8n container based on the expected load (memory and CPU).
- Specify an environment name and click the Create button. Jelastic provisions the nodes.
Pin the version of the Docker image (e.g., n8nio/n8n:1.75.0) to avoid unexpected changes; enable an encrypted connection to the database if PostgreSQL is used (DB_SSL=true).
2. Configuring persistent storage and environment variables
Once the environment is active, configuration is essential:
- Locate your Docker Engine container (n8n) in the list of environment nodes in Jelastic.
- Click on the Configuration icon (the gear) next to the n8n container.
Volume Configuration (persistent storage)
- Go to the Volumes section.
- Add a new volume of type Volume Mount to persist n8n data (workflows, API keys, etc.).
- Internal container path (destination): /home/node/.n8n.
- External path on the node (source): Choose a folder on the node (e.g., /mnt/n8n_data) or a shared storage volume (NFS) if available.
Environment Variable Configuration
- Go to the Environment Variables section.
- Add at least the security and network variables:- N8N_HOST: The hostname or public URL of your Jelastic environment (e.g.,- n8n-env.jpc.infomaniak.cloud).
- WEBHOOK_URL: The full URL accessible publicly through which n8n receives webhooks (e.g.,- https://n8n-env.jpc.infomaniak.cloud/).
- N8N_BASIC_AUTH_ACTIVE:- true(to protect the interface).
- N8N_BASIC_AUTH_USER: A secure administrator identifier.
- N8N_BASIC_AUTH_PASSWORD: A secure password.
 
- If you have added an external database, configure the connection variables (examples for PostgreSQL):- DB_TYPE:- postgresdb
- DB_HOST: The IP address or hostname of the PostgreSQL node.
- DB_USER,- DB_PASSWORD,- DB_DATABASE: The database credentials.
 
- After the modification, return to the dashboard and use the Restart Node option on the n8n container to apply all new configurations.
Other settings are possible:
- Set GENERIC_TIMEZONEfor the desired timezone.
- Add EXECUTIONS_PROCESS=mainif necessary.
- Set N8N_ENCRYPTION_KEYwith a strong key to encrypt credentials.
- Ensure that the persistent volume is mounted before starting the container.
3. Access and verification
Final access to the application:
- In the Jelastic dashboard, click the Open in browser button next to the Docker Engine container or the Load Balancer (if you have configured one in front of n8n).
- The browser should load the n8n user interface.
- If basic authentication is enabled (via N8N_BASIC_AUTH_ACTIVE: true), the browser will immediately prompt for the configured credentials.
Storage verification
After creating a first workflow, connect to the Docker container via SSH (Jelastic WebSSH or external client) and verify that the configuration files and workflows are stored on the persistent volume in the path /home/node/.n8n.
Also, verify that port 5678 is publicly exposed or via an HTTPS Load Balancer for webhooks. Use HTTPS in production (certificate Letβs Encrypt via Jelastic/Infomaniak).