Get it running
tonight.
Run it on your machine
One image, the same on macOS, Windows and Linux. The database and the scan workers are already inside, so there is nothing to provision and nothing to connect.
docker run -d --name classifyre \ -p 3000:3000 \ --shm-size=1g \ -v classifyre-pgdata:/var/lib/postgresql/data \ -v classifyre-data:/var/lib/classifyre \ -v classifyre-uv-cache:/cache/uv \ classifyre/all-in-one:0.5.6Then open localhost:3000. Needs Docker and 4 GB of memory. Those volumes are what keep your work across an upgrade — the Docker guide covers the environment variables, external databases and object storage.
PostgreSQL, inside
The database ships in the image, tuned at startup to the memory you gave the container. Point DATABASE_URL at your own server when you outgrow it.
Scan workers, sandboxed
Extraction and detection run as separate processes that exit with the scan — the same code the cluster runs as Kubernetes Jobs.
Mount a folder, scan it
Bind-mount a directory read-only and point a source at it. Nothing is copied out; the files are read where they sit.
Everything stays put
Sources, credentials, findings, and cases live in volumes on your disk. Nothing is uploaded to us.
Four steps to your first finding
Nothing here needs a config file. Every step is in the app, and each one has a page on the docs site when you want the detail.
- 01
Run the image
One command, then open localhost:3000. The first boot initialises the database and creates a workspace — give it a few minutes on a laptop.
- 02
Connect a source
Point it at something you already run — a database, an S3 bucket, a Confluence space, or just a local folder. Credentials are encrypted at rest.
Configuring sources → - 03
Switch on detectors
Enable the built-in packs you care about — PII, secrets, security, moderation, quality. They work on the first scan with no model setup.
Pre-built detectors → - 04
Run a scan, open a case
Findings land ranked by importance. Group them into inquiries and cases, or add an AI provider and let the autopilot work them between scans.
AI providers →
Or scale it on your cluster
The same open-source core as a Helm chart — web, API, worker, and ephemeral scan Jobs that fan out under load and scale to zero between runs.
Helm, OCI-native
No repo add step
helm show chart oci://registry-1.docker.io/classifyre/classifyre-corehelm install classifyre \
oci://registry-1.docker.io/classifyre/classifyre-core \
--namespace classifyre --create-namespace \
--version 0.5.6 \
-f values.yaml- Kubernetes
- ≥ 1.26
- Helm
- ≥ 3.8 (OCI native)
- Ingress
- nginx by default
- PostgreSQL
- 14+ external, or embedded for demos
linux/amd64 + linux/arm64
Pick by where the data has to stay
Both runtimes carry the same features, and a namespace export moves your work from one to the other, so this is not a decision you are locked into.
Choose Docker when
- You are evaluating, or you investigate alone.
- The corpus is on your machine or reachable from it.
- Nothing may leave the laptop.
- You want to be scanning within ten minutes.
Choose Kubernetes when
- A team shares the instance, split into workspaces.
- Scans need to run on a schedule, unattended.
- The estate is large enough to need workers fanning out.
- It has to sit inside your existing cluster and network.
Wondering what the enterprise layer adds on top of either runtime? It is SSO, roles, and per-workspace authorization — not features held back from the open-source core.
Open source vs EnterprisePoint it at something real.
The fastest honest test is a system you already run. Install it, connect one source, and see what the investigator turns up.
docker run -d --name classifyre \ -p 3000:3000 \ --shm-size=1g \ -v classifyre-pgdata:/var/lib/postgresql/data \ -v classifyre-data:/var/lib/classifyre \ -v classifyre-uv-cache:/cache/uv \ classifyre/all-in-one:0.5.6


