Skip to content

n8n

Deploy n8n on Kubernetes using the official n8nio/n8n Docker image. Supports SQLite (default), PostgreSQL, MySQL, Redis-backed queue mode with dedicated workers, and scheduled backups.

Key Features

  • SQLite by Default — zero database configuration needed
  • PostgreSQL Subchart — bundled via HelmForge dependency
  • MySQL Subchart — bundled via HelmForge dependency
  • External Database — connect to existing PostgreSQL or MySQL
  • Queue Mode — Redis-backed horizontal scaling with worker Deployments
  • Encryption Key — auto-generated and preserved across upgrades
  • Scheduled Backups — database-aware CronJob with S3 upload
  • Ingress Support — TLS with cert-manager

Installation

HTTPS repository:

helm repo add helmforge https://repo.helmforge.dev
helm repo update
helm install n8n helmforge/n8n

OCI registry:

helm install n8n oci://ghcr.io/helmforgedev/helm/n8n

Basic Example (SQLite)

# values.yaml
persistence:
  enabled: true
  size: 5Gi

ingress:
  enabled: true
  ingressClassName: traefik
  hosts:
    - host: n8n.example.com
      paths:
        - path: /
          pathType: Prefix
  tls:
    - secretName: n8n-tls
      hosts:
        - n8n.example.com

PostgreSQL Example

postgresql:
  enabled: true
  auth:
    database: n8n
    username: n8n
    password: 'strong-password'

n8n:
  webhookUrl: 'https://n8n.example.com'

Queue Mode Example

queue:
  enabled: true
  workers: 3
  concurrency: 10

redis:
  enabled: true
  auth:
    password: 'redis-secret'

External Database Example

database:
  external:
    vendor: postgres
    host: db.example.com
    name: n8n
    username: n8n
    existingSecret: n8n-db-credentials

Key Values

KeyDefaultDescription
n8n.encryptionKey""Encryption key (auto-generated if empty)
n8n.webhookUrl""External webhook URL (auto-detected from ingress)
n8n.logLevelinfoLog level (silent, error, warn, info, debug, verbose)
queue.enabledfalseEnable Redis-backed queue mode
queue.workers2Number of worker replicas
queue.concurrency10Jobs per worker
database.modeautoDatabase mode (auto, sqlite, external, postgresql, mysql)
postgresql.enabledfalseDeploy PostgreSQL subchart
mysql.enabledfalseDeploy MySQL subchart
redis.enabledfalseDeploy Redis subchart
persistence.enabledtrueEnable persistent storage
persistence.size5GiPVC size
ingress.enabledfalseEnable ingress
backup.enabledfalseEnable S3 backups

More Information

See the source code and full values reference on GitHub.