Reference
Start a local instance. By default the container starts in the background and the CLI waits for GET /healthz to report ready before returning. Local only.
helix run is a backwards-compatible alias for helix start.Usage
Arguments
Options
Behavior
- Defaults to
ghcr.io/helixdb/helixdb:v0.0.9. Flags override the image tag and pull policy set in[local.<instance>]. alwaysrequires a successful pull,missinguses a cached image when available, andneverfails if the image is not cached. A failed pull never silently falls back to an older cached image.- All required images are resolved before overrides are saved or containers are replaced, so a failed resolution leaves
helix.tomlunchanged. Helix and disk-mode dependencies start by their resolved immutable image IDs. - The disk-mode SeaweedFS image defaults to
missingunless a pull policy is explicitly configured. - Names the container
helix-<project>-<instance>and publishes the configured port to container port8080. - Uses Docker or Podman based on
[project] container_runtimeinhelix.toml. - Default storage is in-memory. Passing
--diskstarts a SeaweedFS S3 sidecar (ghcr.io/chrislusf/seaweedfs:4.47, pinned by digest) that creates thehelix-dbbucket, waits up to 60 seconds for the bucket to accept signed requests, and runshelixdbwith S3-compatible storage environment variables. - With
--diskor S3 storage, the server caches data on disk in a per-instancehelix-<project>-<instance>-cachevolume mounted at/var/cache/helix. The CLI sets its budget (HELIX_DISK_CACHE_BYTES) to 64 MiB in disk mode, where SeaweedFS already keeps the data on your machine, and to 1 GiB for an S3 bucket. --s3-region,--s3-endpoint-url, and--s3-allow-httprequire--storage-uri, unless the instance already uses S3 storage; then they override its saved S3 settings for this run.- The CLI loads
.envfrom the project root before starting. For S3 storage, it passes anyAWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,AWS_SESSION_TOKEN,AWS_PROFILE,AWS_REGION, andAWS_DEFAULT_REGIONvalues from the environment into the container. - Background mode (
-d,--restart unless-stopped) waits up to ~30 seconds forGET /healthzreadiness and prints the URL and container name when ready. Progress goes to stderr. - Foreground mode (
--rm) streams the container’s stdout/stderr until Ctrl-C, then removes the container.
--disk, helix stop removes the Helix and SeaweedFS containers but keeps the persistent local volume. helix prune removes that volume and deletes the persisted local data. helix stop also keeps the disk-cache volume, so the next start reads recently used data locally, and helix prune removes it. With S3 storage, helix stop, helix restart, and helix prune never delete remote data.
Older CLI releases stored disk-mode data with MinIO, which SeaweedFS cannot read. helix start removes an old MinIO sidecar, starts on a new SeaweedFS volume, and warns while the MinIO volume remains. See Migrate MinIO disk data.
Examples
Related
helix stop— stop a background instance.helix restart— restart a background instance.helix query— send a dynamic query to a running instance.helix logs— view container logs.