# All at once: the whole chain locally

> Gateway, domain servers, API, website and checker from one checkout with one command.


You need Docker with Compose v2, a few minutes and about 6 GB for the first build. Everything reads the checkout read-only; the domain servers answer from recorded fixtures, without network.

## Start {#starten}

From the root of the corpus checkout:

```bash
docker compose up --build
```

## What runs afterwards {#dienste}

| Address | Service |
|---|---|
| `http://localhost:8700` | gateway with both domain servers: `GET /tools`, `POST /tool/<id>`, `POST /mcp` |
| `http://localhost:8710` | API spine: `GET /capabilities` and the OpenAPI surface |
| `http://localhost:8090` | this website, built from the same checkout |
| `http://localhost:8720` | A2A transport: `message/send` against the served agent card |

The checker runs as a one-shot and prints the probe plan of the test corpus:

```bash
docker compose run --rm checker
```

## Check that it runs {#pruefen}

```bash
curl -s http://localhost:8700/tools
curl -s http://localhost:8710/capabilities
```

The first answer is a list of 52 tools, the second a register of 14 capabilities.

## Remove it again {#entfernen}

```bash
docker compose down --rmi local -v
```

## Why a forwarder runs inside the container {#loopback}

The binaries bind `127.0.0.1` on purpose, so that no start accidentally opens to the outside. Inside a container that address is unreachable from outside; a small forwarder (`socat`) passes the published port through to the loopback address. One by one works too: every module guide in this section names its commands.

---

Source: docs/en/infrastructure/all-at-once.md
