Skip to main content
Guide
The ghcr.io/helixdb/helixdb:v0.0.5 image runs the standalone HelixDB server. It supports Linux on amd64 and arm64. It exposes the same operation-tree request contract used by Helix Cloud at POST /v2/query; gateway-only Cloud features are not included.

Choose storage

Start with the CLI

macOS and Linux:
Windows PowerShell:
Then, in your shell:
The standalone server accepts queries at http://localhost:6969/v2/query. For an existing project, set tag = "v0.0.5" in its [local.dev] block in helix.toml before starting it. An explicitly saved tag overrides the CLI default.
The default mode is in-memory. helix stop and helix restart discard its data.

Use an existing object store

Place credentials in a project-root .env file or export them:
.env
Do not commit .env.
Add --s3-allow-http only for a plain HTTP endpoint.
--persist stores the resolved configuration in helix.toml. Helix does not delete externally managed object-store data during stop, restart, or prune.

Run the image directly

Memory mode is selected by leaving both HELIX_DATA_DIR and S3_BUCKET unset:
The standalone server exposes liveness and readiness checks:
Do not set S3_BUCKET=IN_MEMORY. Every defined S3_BUCKET value selects S3-compatible storage and is interpreted as a real bucket name. Setting HELIX_DATA_DIR and S3_BUCKET together causes startup to fail.

Run with native directory persistence

Set HELIX_DATA_DIR to a mounted directory inside the container:
Stop the server with docker stop helixdb. Starting a new container with the same volume preserves its database. Removing the volume deletes the data. This mode does not require MinIO; the CLI’s --disk mode still uses MinIO. The image runs as user and group 65532:65532. Its /var/lib/helix directory is prepared for that user, including when initializing a new Docker named volume. If you use a bind mount or an existing volume, its directory must be writable by that user.

Run with MinIO persistence

This Compose configuration creates a bucket and stores HelixDB objects in the minio-data volume:
docker-compose.yaml
Run docker compose down to replace the HelixDB container without deleting the MinIO data. docker compose down -v deletes the persisted database. For an existing object store, use the same HelixDB environment variables and omit the MinIO services. For AWS S3, omit the endpoint and HTTP override. The endpoint must be reachable from inside the container; container localhost is not the host machine. DB_PATH is a logical prefix, not the storage directory. To use native directory persistence, set HELIX_DATA_DIR and mount the directory there.

Stop or inspect

Next steps

Get Started

Create and traverse a small graph.

Embedded database

Open HelixDB directly inside your process.

Helix Cloud

Move the same application requests to a managed cluster.

Local CLI workflow

Manage instances and raw requests.