Skip to content

CKAN

Deploy CKAN on Kubernetes — the world’s leading open-source data management system for powering data hubs and data portals with full catalog and API capabilities.

Key Features

  • CKAN application — uWSGI-based Python application on port 5000
  • DataPusher — optional automatic resource loading for CSV, Excel to DataStore
  • Built-in Solr — StatefulSet with CKAN-specific schema configuration
  • PostgreSQL metadata store — bundled subchart or external connection
  • Redis task queue — bundled subchart or external connection
  • Auto-generated secrets — sysadmin password, session secret, JWT secret
  • Persistent storage — uploaded datasets at /var/lib/ckan
  • Plugin system — configurable CKAN plugins list
  • Ingress support — TLS via cert-manager with configurable ingress class

Installation

HTTPS repository:

helm repo add helmforge https://repo.helmforge.dev
helm repo update
helm install ckan helmforge/ckan -f values.yaml

OCI registry:

helm install ckan oci://ghcr.io/helmforgedev/helm/ckan -f values.yaml

Basic Example

ckan:
  siteUrl: https://data.example.com
  sysadminName: admin
  sysadminPassword: 'my-secure-password'

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

External Services

database:
  mode: external
  external:
    type: postgresql
    host: postgres.example.internal
    port: 5432
    name: ckan
    username: ckan
    existingSecret: ckan-db

redisConfig:
  mode: external
  external:
    host: redis.example.internal
    port: 6379

postgresql:
  enabled: false

redis:
  enabled: false

Key Values

KeyDefaultDescription
image.repositoryckan/ckan-baseCKAN container image
ckan.siteUrlhttp://localhost:5000Public site URL
ckan.sysadminNameadminSysadmin username
ckan.sysadminPassword""Auto-generated if empty
ckan.pluginsenvvars image_view text_view datatables_viewActive plugins
ckan.replicaCount1CKAN replicas
datapusher.enabledtrueEnable DataPusher
solr.enabledtrueEnable built-in Solr
solr.persistence.size5GiSolr data volume size
database.modesubchartDatabase mode: subchart or external
persistence.enabledtrueEnable CKAN storage
persistence.size10GiCKAN storage volume size
ingress.enabledfalseEnable ingress

Operational Notes

  • Solr is deployed as a StatefulSet with CKAN-specific schema — do not share with other applications
  • DataPusher is optional but recommended for automatic resource indexing
  • health probes target /api/action/status_show
  • set ckan.siteUrl to the actual public URL for correct link generation

More Information

See the source code and full values reference on GitHub.