> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.adid.dev/llms.txt.
> For full documentation content, see https://docs.adid.dev/llms-full.txt.

# Deployment Topology — Docker Compose

**Used in:** §14.2 Docker Compose
**Audience:** DevOps
**IA ID:** D17

```mermaid
graph TB
  classDef svc fill:#dcfce7,stroke:#15803d
  classDef store fill:#fef9c3,stroke:#b45309
  classDef ext fill:#dbeafe,stroke:#1d4ed8
  classDef vol fill:#fae8ff,stroke:#a21caf

  subgraph Net["docker network: ida"]
    portal["portal (nginx, :5173 in dev)"]:::svc
    api["api (Go, :8080)"]:::svc
    pg[("postgres :5432")]:::store
    redis[("redis :6379")]:::store
    hardhat["hardhat-node :8545 (dev only)"]:::svc
  end

  user["browser / SDK / wallet"]:::ext

  user --> portal
  user --> api
  api --> pg
  api --> redis
  api --> hardhat

  pgvol[("postgres-data volume")]:::vol
  redisvol[("redis-data volume")]:::vol
  pg --- pgvol
  redis --- redisvol
```

**Reading guide:** Dev overlay adds the `hardhat-node` service; the prod compose omits it and points `BLOCKCHAIN_RPC` at the real ADI RPC.

***