Install and persist data

Obtain the ShrikeDB binary or container image provided for your deployment. The examples call the executable shrikedb; substitute its installed path if necessary. Use a multi-tenant package when you need separate user identities and permissions.

Run a binary

Create the configuration in the quick start, then launch:

shrikedb --config "$HOME/.shrikedb/guide.yaml" --no-startup-ui

The operating-system account running ShrikeDB needs read and write access to storage.data_dir. Use one server process per data directory. Keep configuration files separate from bulk input files so a restart consistently opens the intended database.

Run a container

Set SHRIKEDB_IMAGE to the image and tag supplied with your deployment. This example assumes the image starts the ShrikeDB server and accepts its environment variables.

export SHRIKEDB_IMAGE='REGISTRY/OWNER/shrikedb:TAG'
mkdir -p "$HOME/.shrikedb/data"

docker run --name shrikedb \
  -p 127.0.0.1:50251:50251 \
  -p 127.0.0.1:8182:8182 \
  -p 127.0.0.1:9190:9190 \
  -v "$HOME/.shrikedb/data:/var/lib/shrikedb" \
  -e SHRIKEDB_DATA_DIR=/var/lib/shrikedb \
  -e SHRIKEDB_GRPC_BIND=0.0.0.0:50251 \
  -e SHRIKEDB_HTTP_BIND=0.0.0.0:8182 \
  -e SHRIKEDB_ADMIN_BIND=0.0.0.0:9190 \
  -e SHRIKEDB_NO_STARTUP_UI=1 \
  "$SHRIKEDB_IMAGE"

The server listens on container interfaces; Docker publishes them only on the host’s loopback address. SHRIKEDB_DATA_DIR points at the mounted volume, so removing the container leaves the database in $HOME/.shrikedb/data. Ensure that directory is writable by the user configured in the image.

For additional settings, mount a configuration file read-only and set SHRIKEDB_CONFIG to its container path. Environment overrides take precedence over file values; see Configuration.

Stop and restart this container with:

docker stop shrikedb
docker start shrikedb
docker logs --tail 100 shrikedb

Verify the installation

curl --fail-with-body http://127.0.0.1:9190/health/ready
curl --fail-with-body http://127.0.0.1:8182/api/v1/health

Then run the known-answer query in Start and query a server. A successful health check alone does not exercise storage or query execution; installation verification adds a write and restart check.

Select and preserve a database

When storage.data_dir is itself a database directory, ShrikeDB opens it as the default database and discovers sibling database directories. Other discovered databases open when selected. Clients select a logical database using x-shrikedb-database; see Connect To ShrikeDB.

Keep the same volume and data-directory setting across restarts. Before upgrading, take a complete backup and retain the previous configuration and binary version.