Prerequisites
- A Kubernetes cluster (v1.24+) and
helm(v3+). - A Context7 license key.
- An image pull secret for
ghcr.io. Create it with the steps in Registry Authentication, which produces acontext7-registrysecret in thecontext7namespace.
Single container (default)
Runs one replica with the embedded database on a persistent volume. Nothing external is required.http://localhost:3000.
Multiple replicas
Provision an external PostgreSQL with thepgvector extension first (relational data and embeddings both live there, no object storage needed). See Scaling for the architecture and how to provision pgvector.
encryptionKey is the one shared secret every replica needs. It decrypts stored credentials and signs session tokens, so keep it identical across replicas and stable over time. If it changes, stored credentials can no longer be decrypted and all sessions are invalidated.scaling.enabled=true the chart runs a Deployment of stateless replicas whose readiness gates on /api/ready, so a pod only receives traffic once it has connected to Postgres.
Ingress
Expose the service through an Ingress instead of port-forwarding:Migrating an existing single-container install
To move an existing single-container deployment onto Postgres, the chart runs a one-shot migration Job that copies your SQLite data (and the LanceDB index into pgvector) from the volume your container used.1
Point the Job at your existing data
Set
migration.enabled=true and migration.dataPvcName to the PVC that holds your existing /data, and set scaling.encryptionKey to the key your single container used.2
Turn the Job off after it completes
Once the Job reports success, disable it so it does not run again on the next upgrade.
Values
Any credential can also be configured in the UI after first boot, so
env is only needed when you prefer to set them declaratively.