Deploy n8n

Learn how to deploy n8n as a Helm Release on lowcloud – including PostgreSQL integration via Helm Release Dependencies.

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
The credentials (username, password, database) must be identical in both services!

Configuration

PostgreSQL Parameters

ParameterDescriptionRecommended
auth.usernameDatabase usernamen8n
auth.passwordDatabase password
auth.databaseDatabase namen8n

n8n Parameters

ParameterDescriptionValue
db.typeDatabase typepostgresdb
postgresql.enabledDisable built-in PostgreSQLfalse
externalPostgresql.databaseExternal database namen8n
externalPostgresql.usernameExternal database usernamen8n
externalPostgresql.passwordExternal 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.

Open the n8n service, navigate to Dependencies, and add the previously created PostgreSQL service as a dependency.

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
The 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.

Further Reading