# SCARCITY identity attribution — service deployment. # # docker compose up --build --abort-on-container-exit --exit-code-from client # # Brings up issuer + registry + verifier services and runs the one-shot `client` orchestrator, # which issues -> enrols -> proves (ZK over-21 + image) -> verifies and asserts the result. The # compose exits with the client's code (0 = E2E acceptance passed). services: issuer: build: context: . dockerfile: Dockerfile image: idattr-svc:latest command: ["issuer", "--addr", "0.0.0.0:8081"] environment: # Deterministic issuer identity (Ed25519 seed). Replace with your own in production. IDATTR_ISSUER_SEED: "0505050505050505050505050505050505050505050505050505050505050505" healthcheck: test: ["CMD", "idattr-svc", "healthcheck", "--url", "http://localhost:8081/health"] interval: 3s timeout: 2s retries: 10 registry: image: idattr-svc:latest command: ["registry", "--addr", "0.0.0.0:8082"] depends_on: issuer: condition: service_started healthcheck: test: ["CMD", "idattr-svc", "healthcheck", "--url", "http://localhost:8082/health"] interval: 3s timeout: 2s retries: 10 # To anchor registry roots ON-CHAIN, attach this service to the running Teranode regtest network # and provide its RPC. The broadcast itself needs a FUNDED regtest key and is performed by the # scarcity-system/chain tooling — intentionally not automated here (see README "HONESTY"). # networks: [teranode-regtest] # environment: # IDATTR_REGTEST_RPC: "http://teranode:9292" verifier: image: idattr-svc:latest command: ["verifier", "--addr", "0.0.0.0:8083"] depends_on: issuer: condition: service_started healthcheck: test: ["CMD", "idattr-svc", "healthcheck", "--url", "http://localhost:8083/health"] interval: 3s timeout: 2s retries: 10 client: image: idattr-svc:latest command: - "client" - "--issuer" - "http://issuer:8081" - "--registry" - "http://registry:8082" - "--verifier" - "http://verifier:8083" depends_on: issuer: condition: service_healthy registry: condition: service_healthy verifier: condition: service_healthy restart: "no" # To enable on-chain anchoring against an existing Teranode regtest compose network, declare it here: # networks: # teranode-regtest: # external: true