KiwiFS ships with a multi-stage Dockerfile and aDocumentation Index
Fetch the complete documentation index at: https://docs.kiwifs.com/llms.txt
Use this file to discover all available pages before exploring further.
docker-compose.yml that includes an optional pgvector sidecar for vector search.
Quick start
- Pre-built image
- Build from source
Pull and run the pre-built image from Docker Hub.
http://localhost:3333.
Dockerfile
The Dockerfile uses a three-stage build to produce a minimal runtime image.Build stages
Build stages
| Stage | Base image | Purpose |
|---|---|---|
| 1. Node.js | node:22-alpine | Builds the React UI |
| 2. Go | golang:1.25.5-alpine | Compiles the Go binary with the UI embedded via go:embed |
| 3. Runtime | alpine:3.20 | Minimal image with git and ca-certificates |
git (for versioning), and root CA certificates.Docker Compose
The includeddocker-compose.yml runs KiwiFS alongside an optional pgvector database for vector search.
docker-compose.yml
Configuration
Environment variables
Pass environment variables to configure KiwiFS and enable integrations.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 indocker-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.Health checks
KiwiFS exposes health endpoints you can use in your Docker configuration.| Endpoint | Purpose |
|---|---|
/health | Basic health check |
/healthz | Liveness probe |
/readyz | Readiness probe |
Production tips
- Set
--async-commit=true(the default) for better write throughput under load. - Use
--search sqlitefor 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.