Docker Local Platform Reference
- Owner: Origo Engineering
- Last updated: 2026-03-08
- Slice/version reference: S7 (API
v0.1.2, control-plane v1.2.52)
Purpose and scope
- User-facing guide for running Origo locally in Docker and validating raw query/export behavior end-to-end.
- Inputs:
- local
.env matching .env.example
- Docker runtime
- Outputs:
- API endpoint serving
/v1/raw/query and /v1/raw/export
- self-hosted Bitcoin Core mainnet node service (
bitcoin-core)
- canonical slice reference at
spec/slices/slice-7-docker-local-platform.md
Data definitions (fields, types, units, timezone, nullability)
- Proof window dates: UTC day boundaries (
2017-08-17, 2017-08-18).
- Query and export responses follow existing contracts in:
docs/raw-query-reference.md
docs/raw-export-reference.md
- Seed dataset:
binance_spot_trades (Binance daily files).
Source/provenance and freshness semantics
- Local proof reads exchange data from canonical Binance daily archives.
- Proof artifacts include source checksums to identify exact input files.
- Freshness semantics are unchanged from raw API source-specific contracts.
Failure modes, warnings, and error codes
- Missing env var: startup/proof fails immediately.
- Service health timeout: proof fails with failing step in
smoke-result.json.
- Export lifecycle failure: proof fails and captures status payload details.
Determinism/replay notes
- Replay checks compare two query runs plus one post-restart run.
- Canonical Slice 7 reference and proof workflow details live in:
spec/slices/slice-7-docker-local-platform.md
Environment variables and required config
- Required local contract is
.env.example.
- Minimal must-set groups:
CLICKHOUSE_*
ORIGO_DOCKER_*
ORIGO_BITCOIN_CORE_*
ORIGO_INTERNAL_API_KEY
ORIGO_DAGSTER_*
ORIGO_EXPORT_*
Minimal examples
- Bring services up:
scripts/s7_docker_stack.sh up
- Run deterministic proof:
scripts/s7_docker_stack.sh proof
- Query health endpoint:
curl -sS http://localhost:18000/health