K
KernoDocs
Docs/External Postgres

External Postgres

Use Supabase, Neon, Railway, or any managed Postgres instead of the bundled DB.

Two requirements:

  • Postgres 14 or newer.
  • The pgvector extension. Required for semantic memory.

Enable pgvector

  • Supabase: Database → Extensions → enable vector.
  • Neon: Settings → Extensions → enable vector.
  • Railway: Database → Extensions tab → enable vector. Or run CREATE EXTENSION IF NOT EXISTS vector;.
  • Self-hosted: CREATE EXTENSION IF NOT EXISTS vector;

Update docker-compose.yml

# docker-compose.yml — comment out the bundled postgres service
services:
  # postgres:
  #   image: pgvector/pgvector:pg16
  #   ...

  app:
    image: ghcr.io/getkerno/kerno:latest
    # remove depends_on: postgres

Set DATABASE_URL

# .env
DATABASE_URL=postgresql://user:pass@host:5432/dbname

On first boot the engine creates the memory_chunks table (pgvector), the pgboss schema (job queue), and the app_config table (encrypted config store) automatically.