Deploy n8n
Last updated: March 16, 2026
n8n is a powerful, open-source workflow automation platform. With the lowcloud Helm Release, you can deploy n8n on your Kubernetes cluster – including integration with a PostgreSQL database.
Chart Registry (n8n): https://community-charts.github.io/helm-charts/n8n
Chart Registry (PostgreSQL): oci://registry-1.docker.io/cloudpirates/postgres
Prerequisites
- A lowcloud account with an active cluster
- Access to the lowcloud Dashboard
Quick Start
n8n requires an external PostgreSQL database. You need to deploy two services and connect them via Helm Release Dependencies.
1. PostgreSQL Values:
auth:
username: n8n
password: your-secure-password
database: n8n
2. n8n Values:
db:
type: postgresdb
postgresql:
enabled: false
externalPostgresql:
database: n8n
username: n8n
password: your-secure-password
username, password, database) must be identical in both services!Configuration
PostgreSQL Parameters
| Parameter | Description | Recommended |
|---|---|---|
auth.username | Database username | n8n |
auth.password | Database password | — |
auth.database | Database name | n8n |
n8n Parameters
| Parameter | Description | Value |
|---|---|---|
db.type | Database type | postgresdb |
postgresql.enabled | Disable built-in PostgreSQL | false |
externalPostgresql.database | External database name | n8n |
externalPostgresql.username | External database username | n8n |
externalPostgresql.password | External database password | — |
Step-by-Step Guide
1. Add the PostgreSQL Service
Navigate to Add Service in the lowcloud Dashboard and select Helm Release. Search for the PostgreSQL registry in the popup:
oci://registry-1.docker.io/cloudpirates/postgres
Select a version ("latest" works fine) and configure the values:
auth:
username: n8n
password: your-secure-password
database: n8n
Give the service a name (e.g. n8n-postgres) and click Deploy. Wait until the label shows "Deployed".
2. Add the n8n Service
Create a second Helm Release and search for the n8n registry:
https://community-charts.github.io/helm-charts/n8n
Give the service a name (e.g. n8n) and configure the values:
db:
type: postgresdb
postgresql:
enabled: false
externalPostgresql:
database: n8n
username: n8n
password: your-secure-password
3. Connect Helm Release Dependencies
Connect the n8n service with the PostgreSQL service via Helm Release Dependencies. This tells n8n where to find the database and ensures lowcloud starts PostgreSQL before n8n.
4. Start the Deployment
Click Deploy in the n8n service. Once the label in the Dashboard switches to "Deployed", your n8n instance is up and running, connected to the PostgreSQL database.
Advanced Values
For production use, you should configure both PostgreSQL and n8n with persistence, resource limits, and a fixed encryption key.
PostgreSQL Values (Production):
auth:
username: n8n
password: your-secure-password
database: n8n
primary:
resources:
requests:
cpu: 250m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
persistence:
enabled: true
size: 10Gi
n8n Values (Production):
db:
type: postgresdb
postgresql:
enabled: false
externalPostgresql:
database: n8n
username: n8n
password: your-secure-password
extraEnvVars:
- name: N8N_ENCRYPTION_KEY
value: "your-random-encryption-key"
- name: WEBHOOK_URL
value: "https://n8n.example.com/"
resources:
requests:
cpu: 250m
memory: 256Mi
limits:
cpu: '1'
memory: 1Gi
N8N_ENCRYPTION_KEY encrypts all stored credentials in n8n. Set this value once and never change it afterwards — otherwise existing credentials will become undecryptable.The WEBHOOK_URL must match the publicly accessible URL of your n8n instance for webhook triggers to work correctly.