Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.oktolabs.ai/llms.txt

Use this file to discover all available pages before exploring further.

Docker operations

You can run Pulse in Docker with the published image or by building from local source. Use Docker when you want a repeatable runtime and persistent /data volume.

Published image vs build from source

PathUse it when
Published imageYou want the released runtime from ghcr.io/oktolabsai/okto-pulse:latest.
Build from sourceYou are testing local changes across okto-pulse and okto-pulse-core.

Volume strategy

Persist /data. It holds SQLite, uploads, board graphs, global discovery, and MCP traces.
docker run --rm -p 8100:8100 -p 8101:8101 -v okto-pulse-data:/data ghcr.io/oktolabsai/okto-pulse:latest
Listening on 0.0.0.0:8100 and 0.0.0.0:8101

Environment variable overrides for production

Inside containers, bind both API and MCP to all interfaces:
HOST=0.0.0.0
MCP_HOST=0.0.0.0
DATA_DIR=/data
KG_BASE_DIR=/data
HF_HOME=/opt/hf-cache

Multi-container setups

The community image defaults to local SQLite and embedded LadybugDB files. If you move supporting services out of the container, keep Pulse single-process for the API/UI and MCP servers so shared state and the embedded graph writer stay coherent.

Logs and debugging

docker compose logs -f
okto-pulse  | API/UI listening on 8100
okto-pulse  | MCP listening on 8101

Upgrading

For minor releases, pull the new image and restart against the same volume. Check the upgrade guide when a release notes a schema migration.
Last modified on May 8, 2026