# Alles auf einmal: die ganze Kette lokal

> Gateway, Domänenserver, API, Website und Prüfer aus einem Checkout mit einem Befehl.


Sie brauchen Docker mit Compose v2, einige Minuten und rund 6 GB für den ersten Build. Alles liest den Checkout nur lesend; die Domänenserver antworten aus aufgezeichneten Fixtures, ohne Netz.

## Starten {#starten}

Aus der Wurzel des Korpus-Checkouts:

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

## Was danach läuft {#dienste}

| Adresse | Dienst |
|---|---|
| `http://localhost:8700` | Gateway mit beiden Domänenservern: `GET /tools`, `POST /tool/<id>`, `POST /mcp` |
| `http://localhost:8710` | API-Spine: `GET /capabilities` und die OpenAPI-Fläche |
| `http://localhost:8090` | diese Website, aus demselben Checkout gebaut |
| `http://localhost:8720` | A2A-Transport: `message/send` gegen die servierte Agentenkarte |

Der Prüfer läuft als Einmal-Lauf und druckt den Probenplan des Testkorpus:

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

## Prüfen, dass es läuft {#pruefen}

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

Die erste Antwort ist eine Liste von 52 Werkzeugen, die zweite ein Register von 14 Fähigkeiten.

## Wieder entfernen {#entfernen}

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

## Warum ein Weiterleiter im Container läuft {#loopback}

Die Binaries binden absichtlich `127.0.0.1`, damit kein Start versehentlich nach aussen öffnet. In einem Container ist diese Adresse von aussen unerreichbar; ein kleiner Weiterleiter (`socat`) reicht den veröffentlichten Port an die Loopback-Adresse durch. Einzeln geht es auch: jede Modul-Anleitung in diesem Bereich nennt ihre Befehle.

---

Quelle: docs/de/infrastructure/all-at-once.md
