Skip to content

DCS-LabsAI/dcs-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@trd-network/framework

Day 12 v3 Day 3 — F11 scaffold from the v3 deferred bucket.

Self-hosted TRD stack: orchestrator + receipt signer + IPFS gateway + predictive engine, all in one docker compose up. Same code TRD runs in production — packaged as a portable bundle and a single CLI.

Quick start

npx @trd-network/framework init my-stack
cd my-stack
# Edit .env to add your inference API key
docker compose up

Default ports:

  • :3000 Orchestrator
  • :3001 Receipt signer (ed25519 keypair auto-generated at init)
  • :3002 IPFS gateway
  • :3003 Predictive engine

Status

Phase 1: CLI + compose template + ed25519 keypair generator working. Docker images not yet published — once we build + push the four images to GHCR, the CLI flow works end-to-end. Target ship: Q3 2026.

Published images

The four framework services are built and pushed to GitHub Container Registry by .github/workflows/publish-images.yml. Owner is trdnetwork; replace <OWNER> below if you fork into a different org.

Current release line: v0.1.0 (see docs/F11-FIRST-PUBLISH.md for the 1-command release flow). Pull :0.1.0 for a pinned deploy or :latest for local evaluation. Future releases are cut with ./tag-release.sh after bumping version.txt.

Service Image Port
Orchestrator ghcr.io/<OWNER>/orchestrator 3000
Receipt signer ghcr.io/<OWNER>/receipt-signer 3001
IPFS gateway ghcr.io/<OWNER>/ipfs-gateway 3002
Predictive engine ghcr.io/<OWNER>/predictive-engine 3003

Pull

docker pull ghcr.io/trdnetwork/orchestrator:latest
docker pull ghcr.io/trdnetwork/receipt-signer:latest
docker pull ghcr.io/trdnetwork/ipfs-gateway:latest
docker pull ghcr.io/trdnetwork/predictive-engine:latest

Run a single service

# Orchestrator
docker run --rm -p 3000:3000 ghcr.io/trdnetwork/orchestrator:latest

# Receipt signer (mount a volume so the ed25519 key survives restarts)
docker run --rm -p 3001:3001 \
  -e TRD_RECEIPT_PRIVATE_KEY_PATH=/data/receipt-key.private.pem \
  -v "$PWD/data:/data" \
  ghcr.io/trdnetwork/receipt-signer:latest

# IPFS gateway
docker run --rm -p 3002:3002 ghcr.io/trdnetwork/ipfs-gateway:latest

# Predictive engine
docker run --rm -p 3003:3003 ghcr.io/trdnetwork/predictive-engine:latest

Health check on any service:

curl http://localhost:3000/health

Production: pin to a tag, not :latest

:latest floats — it moves every time we publish. For production, pin to an immutable tag so deploys are reproducible and partners don't pick up breaking changes during a rebuild:

# Good — pinned to a released version
docker pull ghcr.io/trdnetwork/orchestrator:v0.1.0

# Or pin to the exact commit
docker pull ghcr.io/trdnetwork/orchestrator:sha-a1b2c3d

:latest is fine for npx @trd-network/framework init local stacks and for evaluation.

Publishing a new release

Tag and push — the workflow does the rest:

git tag v0.1.0
git push --tags

Or run it ad-hoc from the Actions → Publish framework images to GHCR → Run workflow button on GitHub (no tag required).

License

Apache-2.0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors