Skip to main content
KiwiFS ships with a multi-stage Dockerfile and a docker-compose.yml that includes an optional pgvector sidecar for vector search.

Quick start

Pull and run the pre-built image from Docker Hub.
Your knowledge base is now available at http://localhost:3333.

Dockerfile

The Dockerfile uses a three-stage build to produce a minimal runtime image.
The final image contains only the compiled binary, git (for versioning), and root CA certificates.

Docker Compose

The included docker-compose.yml runs KiwiFS alongside an optional pgvector database for vector search.
docker-compose.yml
Start everything with a single command.

Configuration

Environment variables

Pass environment variables to configure KiwiFS and enable integrations.
In docker-compose.yml, add variables under the environment key or use an .env file.

Enable authentication

Pass auth flags as command arguments.

Enable NFS, S3, and WebDAV

Uncomment the relevant port mappings in docker-compose.yml and add the corresponding flags.
The NFS server runs in userspace (NFSv3) and does not require the container to run in privileged mode.

Volumes and persistence

The knowledge directory must be mounted as a volume so data persists across container restarts.
If you omit the volume mount, all knowledge data is lost when the container stops.

Health checks

KiwiFS exposes health endpoints you can use in your Docker configuration.

Production tips

Pin the image tag in production. Build with a version tag (docker build -t kiwifs:1.2.0 .) and reference it explicitly in your compose file.
  • Set --async-commit=true (the default) for better write throughput under load.
  • Use --search sqlite for fast full-text search without external dependencies.
  • Mount the pgvector volume to a persistent disk if you use vector search.
  • Set resource limits in your compose file to prevent runaway memory usage.
Last modified on May 31, 2026