> For the complete documentation index, see [llms.txt](https://docs.kiloiot.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kiloiot.io/kilo-docs-de/kilo-center/kilo-mioty-service-center/getting-started/prerequisites.md).

# Voraussetzungen

KiloCenter-Voraussetzungen — Docker, Docker Compose, Git und optionale Toolchains (Go, Bun) für Installation oder Build.

### Erforderlich

* Docker und Docker Compose v2
* Git

### Zusätzliche Anforderungen zum Bauen aus dem Quellcode

Wenn Sie KC-Core, KC-Gateway oder KC-Web aus dem Quellcode bauen (Entwicklung oder Beitrag):

* Go 1.24.4+
* Bun-Laufzeitumgebung (für den Build von KC-Web und den Entwicklungsserver)

### Optionale Werkzeuge

Nützlich für Validierung und Fehlersuche:

* `grpcurl` für gRPC-API-Prüfungen
* `mosquitto_sub` und `mosquitto_pub` für MQTT-Tests (nur erforderlich, wenn Sie die MQTT-Integration aktivieren)
* `psql` für die direkte Datenbankprüfung

### Infrastrukturabhängigkeiten

KiloCenter benötigt zur Laufzeit diese Dienste:

* **PostgreSQL 18+** -- primärer Datenspeicher
* **Redis 7+** -- Caching
* **Mosquitto 2.0+** -- MQTT-Broker (optional für die anfängliche Einrichtung; MQTT ist standardmäßig deaktiviert in `KC-Core/config.yaml`)

In der empfohlenen Einrichtung laufen alle drei über Docker Compose. Mosquitto ist im Docker-Compose-Stack enthalten, aber KC-Core verbindet sich nur dann damit, wenn MQTT ausdrücklich aktiviert ist. Siehe MQTT Erste Schritte für Einrichtungsanweisungen.

### Erforderliche Ports

Stellen Sie sicher, dass diese Ports vor dem Start verfügbar sind:

| Port  | Dienst             | Hinweise                      |
| ----- | ------------------ | ----------------------------- |
| 80    | KC-Web (Container) | nginx — SPA- + gRPC-web-Proxy |
| 9090  | KC-Gateway         | Externe gRPC-web-API          |
| 8086  | KC-Core-Status     | Status und Prometheus         |
| 8087  | KC-Gateway-Status  | Gateway-Status-Endpunkt       |
| 5000  | BSSCI              | Basisstationsprotokoll (TLS)  |
| 5001  | SCACI              | Anwendungszentrumsprotokoll   |
| 50051 | KC-Core gRPC       | Intern, nur Loopback          |
| 5433  | PostgreSQL         | Docker-Host-Portzuordnung     |
| 6379  | Redis              | Cache                         |
| 1883  | MQTT               | Mosquitto-Broker              |

Port 5173 wird nur im Quellcode-Entwicklungsmodus verwendet (Vite-Entwicklungsserver).

### TLS-Zertifikate

KiloCenter benötigt TLS-Zertifikate für die Basisstationskommunikation (BSSCI) und die Kommunikation mit dem Anwendungszentrum (SCACI). Erstellen Sie sie mit dem `certgen` Compose-Dienst, bevor Sie KC-Core zum ersten Mal starten:

```bash
docker compose run --rm certgen
```

> **Dateibesitz (Linux):** Wenn die erzeugten Dateien root gehören, führen Sie es erneut aus mit `UID=$(id -u) GID=$(id -g)` vorangestellt.

Siehe die Zertifikat-Bootstrap-Schritte in der Docker-Compose-Installation.

### Repository-Struktur

Klonen Sie das Repository und arbeiten Sie aus dem `kilocenter-modules/` Verzeichnis:

```bash
git clone <repository-url>
cd kilocenter-modules
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kiloiot.io/kilo-docs-de/kilo-center/kilo-mioty-service-center/getting-started/prerequisites.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
