Skip to content

Latest commit

 

History

History
96 lines (70 loc) · 4.05 KB

File metadata and controls

96 lines (70 loc) · 4.05 KB

Docker image (ceps-rust-api)

Multi-stage build → gcr.io/distroless/cc-debian13:nonroot (Debian 13 / trixie family).

Item Value
Binary ceps-rust-api
Builder rust:slim-trixie
Port APP_PORT (default 8080)
Compose docker-compose.yml

Build features

Default FEATURES matches the package default (CEPs + swagger / tx-return / sign-local / sign-kms / chain-put). Override at build time:

# From this repo (context = parent so path-deps resolve):
make docker-build
# Or:
docker build -f docker/Dockerfile --build-arg FEATURES=ceps-all,swagger-ui -t interchouette/ceps-rust-api:slim ..

Where to pull images

Registry Image
Docker Hub interchouette/ceps-rust-api
Personal GHCR ghcr.io/groussac/ceps-rust-api (Make/CI only)
Worker GHCR ghcr.io/interchouette/ceps-rust-api (Make/CI only)
Org GHCR ghcr.io/interchouette-itc/ceps-rust-api
docker pull interchouette/ceps-rust-api:latest
docker pull interchouette/ceps-rust-api:dev
# or org GHCR:
docker pull ghcr.io/interchouette-itc/ceps-rust-api:dev

Publish :dev with make docker-build-dev + make docker-push-dev (or CI workflow docker-build-push-dev.yml). Release tags via GitHub Release + release.yml.

MCP sidecar image

Registry Image
Docker Hub interchouette/ceps-rust-api-mcp
Org GHCR ghcr.io/interchouette-itc/ceps-rust-api-mcp
docker pull interchouette/ceps-rust-api-mcp:1.0.0
docker pull interchouette/ceps-rust-api-mcp:dev
make mcp-http        # :4790 → http://127.0.0.1:4790/mcp
make mcp-http-stop

See docs/mcp.md and mcp/README.md. Compose file: docker-compose.mcp.yml.

Tags

Tag Meaning
:dev Rolling tip from make docker-build-dev / CI push on dev
:latest / :X.Y.Z Release tags from make docker-build + release push
make version-show
make docker-build-dev
make docker-build

Compose

docker-compose.yml runs the API and, under profiles, optional KMS (+ LocalStack).

Point CEPS_RPC_URL / CEPS_SSE_URL at a reachable Casper node (for example NCTL on the host via host.docker.internal).

Profile Services
(default) ceps-rust-api only
kms API + kms-secp256k1-api (+ LocalStack)
localstack LocalStack only (also included under kms)
# API only
make docker-run

# Recommended: API + KMS peer on a private network
SIGN_BACKEND=kms KMS_URL=http://kms-secp256k1-api:4000 make docker-run-kms

make docker-stop

Recommended: private network + SIGN_BACKEND=kms + KMS_URL. Configure the KMS peer itself via kms-secp256k1-api docs (do not duplicate peer env here). Unset or empty SIGN_BACKEND means none (no put signer; public-demo safe). Put signing (local, local-production, kms) belongs on a private network.

Env (API container)

Typical compose / runtime vars: APP_ADDR, APP_PORT, CEPS_RPC_URL, CEPS_SSE_URL, CEPS_CHAIN_NAME, SIGN_BACKEND, KMS_URL, LOCAL_KEYS_JSON, LOCAL_KEYS_JSON_PRODUCTION, CEPS_WASM_ROOT, RUST_LOG, DOTENV_DISABLE. See .env.example and the root README.