> 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/project-overview.md).

# Projektübersicht

KiloCenter-Projektübersicht — MIOTY-nativer Open-Source-Server mit Bereitstellungspfaden für Docker, Linux-Host und Kubernetes.

## KiloCenter - Open-Source MIOTY-Netzwerkserver

KiloCenter ist ein Open-Source-MIOTY-Netzwerkserver zum Betrieb von Basisstationen, Endpunkten, Uplink- und Downlink-Traffic sowie Anwendungsintegrationen auf einem selbst gehosteten Service-Center.

Es ist ein MIOTY-natives Service-Center, das von Grund auf speziell für den MIOTY-Stack entwickelt wurde. Es ist kein Fork, Wrapper oder eine Anpassung eines anderen LPWAN-Netzwerkservers.

MIOTY ist ein LPWAN-Protokoll, das für Störfestigkeit, Langstreckenkommunikation und große Endpunkt-Flotten entwickelt wurde. KiloCenter implementiert die Service-Center-Seite dieses Stacks mit Docker- und Linux-Host-Deployment-Pfaden, gRPC- und MQTT-Integrationen sowie einer Web-Verwaltungskonsole.

### Wie es sich zu Kilo Cloud verhält

KiloCenter Community Edition ist das kostenlose, quelloffene, selbst gehostete Service-Center. Seine Grenze ist die MIOTY-Netzwerkschicht: Basisstationen, Endpunkte, Traffic, Service-Center-Operationen und Schnittstellen, die Daten an eine andere Anwendung weitergeben.

Die Enterprise-Edition von KiloCenter ist in **Kilo Cloud**. Wählen Sie Kilo Cloud, wenn die Bereitstellung auch den Rest einer IoT-Plattform benötigt: normalisierte Gerätedaten, visuelle Dashboards, historische Diagramme, eine visuelle Rule-Engine, Auslöser für anhaltende Zustände, Alarme und Eskalation, Prüfverlauf, Zugriffskontrolle und einen KI-Assistenten. MIOTY-Geräte nutzen diese Funktionen dann direkt, statt separate Downstream-Systeme zu benötigen.

| Wählen                           | Wann es passt                                                                                                                                                                   |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **KiloCenter Community Edition** | Sie benötigen ein MIOTY-Service-Center, möchten es selbst betreiben und seine gRPC- oder MQTT-Daten in Ihre eigenen Anwendungen integrieren.                                    |
| **Kilo Cloud**                   | Sie möchten, dass das Enterprise-Service-Center für Sie verwaltet wird, und benötigen Regeln, Visualisierung, Alarme oder andere Kilo-Plattform-Funktionen rund um MIOTY-Daten. |
| **Kilo IoT Platform vor Ort**    | Sie benötigen die vollständige Enterprise-Plattform innerhalb einer von Ihnen kontrollierten Infrastruktur.                                                                     |

Siehe [KiloCenter oder Kilo Cloud?](/kilo-docs-de/kilo-center/kilo-mioty-service-center.md#kilocenter-or-kilo-cloud) für die Funktionsgrenze, oder beginnen Sie mit dem [Kilo Cloud MIOTY-Connector](/kilo-docs-de/kilo-iot-server/connectors/mioty-connector.md).

### Live-Demo

Eine Demo-Umgebung ist verfügbar unter <https://servicecenter.kiloiot.io/>

* **Benutzername:** `demo [at] kiloiot.io`
* **Passwort:** `demo1234`

> Ersetzen `[at]` durch `@` beim Anmelden.

### Hinweis zur produktiven Nutzung

Die Community Edition wird wie besehen ohne kommerziellen Support bereitgestellt. Die produktive Nutzung erfolgt auf eigene Gefahr.

Die Enterprise-Edition von KiloCenter ist in Kilo Cloud integriert. Wählen Sie Kilo Cloud, wenn die Bereitstellung außerdem den Rest einer IoT-Plattform benötigt: normalisierte Gerätedaten, visuelle Dashboards, historische Diagramme, eine visuelle Regel-Engine, Auslöser für anhaltende Zustände, Alarme und Eskalation, Prüfverlauf, Zugriffskontrolle und einen KI-Assistenten. MIOTY-Geräte nutzen diese Funktionen dann direkt, statt separate Downstream-Systeme zu benötigen.

### Funktionen

#### MIOTY-Netzwerkserver

* **MIOTY BSSCI-Protokoll v1.0.0** - TLS-gesicherte Kommunikation von der Basisstation zum Service-Center
* **Basisstationsverwaltung** - zertifikatbasierte Authentifizierung und Statusüberwachung
* **Endpunktverwaltung** - Endpunktregister mit Weitergabe von Attachments
* **Nachrichtenverarbeitung** - Verarbeitung von Uplink und Downlink mit Deduplizierung
* **Betrieb mit mehreren Basisstationen** - gemeinsame Abdeckung über Basisstationen innerhalb einer selbst gehosteten Bereitstellung
* **Unterstützung für Telegrammaufteilung** - native Verarbeitung des MIOTY-PHY-Verhaltens
* **Pattern-Diversität** - Unterstützung für Multi-Pattern-Übertragung zur Robustheit
* **Sicherheit** - AES-128-Verwaltung von Netzwerk- und Anwendungsschlüsseln

#### Funktionen des Service-Centers

* **BSSCI-Schnittstelle** - Unterstützung des Protokolls zwischen Basisstation und Service-Center
* **SCACI-Schnittstelle** - Unterstützung des Protokolls zwischen Service-Center und Anwendungszentrum mit TLS, Sitzungspersistenz, Überwachung und Queue-/Status-Flows
* **Ereignissystem** - zentrale Persistenz und Alarmierung von Ereignissen
* **Zertifikatsverwaltung** - CA-basiertes Vertrauensmodell mit Unterstützung für Rotation und Überwachung
* **Datenbankpartitionierung** - monatlich partitionierte Nachrichtenspeicherung
* **Archivierungssystem** - Unterstützung für Datenlebenszyklus und Aufbewahrung
* **MQTT-Integration** - Anbindung für Anwendungsintegration auf Basis von Mosquitto
* **gRPC-API** - gRPC- und gRPC-web-Verwaltungs-APIs über KC-Gateway

#### Verwaltungsschnittstelle

* **Web-Dashboard** - React-basierte Verwaltungskonsole
* **Echtzeitüberwachung** - Live-Ansichten zu Status, Traffic und Alarmen
* **Basisstationsregistrierung** - GUI-basierte Provisionierungs-Workflows
* **Endpunktregistrierung** - GUI-Workflows für die Endpunktverwaltung
* **Zertifikats-Workflows** - Status, Erneuerung des Serverzertifikats und Workflows für Basisstationszertifikate
* **Nachrichtenanzeige** - Traffic-Ansichten für verschiedene Nachrichtentypen

#### Plattformfunktionen

* **Docker-Compose-Bereitstellung** - `postgres`, `redis`, `mosquitto`, `certgen`, `kc-identity`, `kilocenter`, `kc-gateway`, und `kc-web`
* **Datenbankmigrationen** - versionskontrollierte Schemaänderungen
* **Strukturiertes Logging** - konfigurierbare Logs und Health-Endpunkte
* **Plattformübergreifende Entwicklung** - Linux, macOS und Windows über WSL

### Architektur

KiloCenter verwendet ein modulares Service-Layout:

```
+-----------------+     +-----------------+
|   Browser       | --> |    KC-Web       | (:80 nginx / :5173 dev)
+-----------------+     +--------+--------+
                                 |
                                 | gRPC-web
                                 v
+-----------------+     +-----------------+          +-----------------+
| Externe        | --> |  KC-Gateway     | -------> |  KC-Identity    |
| Anwendungen    | gRPC| (:9090 extern |  öffentlich | (:50052 intern|
| / Integratoren   | /   |  gRPC +         |  RPCs    |  :8088 health)  |
|                 |gRPC-|  gRPC-web,      |          +--------+--------+
|                 | web |  :8087 health)  |                   ^
+-----------------+     +--------+--------+                   |
                                 |                            | interne Identity-RPCs
                                 | vertrauenswürdiges internes gRPC      |
                                 v                            |
+-----------------+     +-----------------+                   |
|   Basisstation   | --> |    KC-Core      | ------------------+
|   (MIOTY-BS)     |BSSCI| (:50051 intern |   Org / Mitgliedschaft /
|   (:5000 TLS)    |     |  :5000 BSSCI    |   Admin-Auflösung
+-----------------+     |  :5001 SCACI    |
                        |  :8086 health)  | -------> +-----------------+
+-----------------+     +--------+--------+   SQL    |   PostgreSQL    |
| Anwendungszentrum | ------------>|                   |   über KC-DB    |
|   (:5001 TLS)   |              |                   | (:5433 Host-Map)|
|                   |      Redis      |
+-----------------+              |
                                 +-----------------> +-----------------+
                                 |   Mosquitto     |
                                 |                   |     (:6379)     |
                                 |                   +-----------------+
                                 |
                                 +-----------------> +-----------------+
                                                     |   über KC-MQTT   |
                                                     Dies ist die Laufzeitansicht.
                                                     | (:1883 / :9001) |
                                                     +-----------------+
```

Dies ist die Laufzeitansicht. `KC-Gateway` ist der externe API-Eingang für das Service-Center. Es stellt natives gRPC und gRPC-web auf Port `9090`, sodass sowohl `KC-Web` als auch Drittanbieteranwendungen über dieselbe öffentliche API-Oberfläche mit KiloCenter integriert werden. `KC-Core` verwendet außerdem interne RPCs zu `KC-Identity` für Organisations-, Mitgliedschafts- und Admin-Auflösungs-Workflows. In Docker Compose wird außerdem vor dem ersten Start von KC-Core ein einmaliger `certgen` Dienst ausgeführt, um das gemeinsame CA- und Serverzertifikats-Set zu erstellen. Die Repository-Module sind unten aufgeführt.

#### Repository-Module

* **KC-Web** - Web-Verwaltungsschnittstelle, bereitgestellt von nginx auf Port 80
* **KC-Gateway** - externer gRPC-web-Eingang und Request-Proxy auf Port 9090
* **KC-Identity** - Identitäts- und Organisationsdienst auf Port 50052
* **KC-Core** - BSSCI, SCACI, interne gRPC-API und Service-Center-Logik
* **KC-DB** - PostgreSQL-Migrationen, Repositories und Speicher-Schnittstellen, die von den Laufzeitdiensten verwendet werden
* **KC-MQTT** - MQTT-Integrationspaket, das von KC-Core verwendet wird; im Community-Docker-Stack nicht als separater Container bereitgestellt
* **pkg** - gemeinsame Versionierung und allgemeine Go-Dienstprogramme, die über die Module hinweg verwendet werden

### Erste Schritte

#### Schnellstart (Docker Compose)

Voraussetzungen:

* Docker und Docker Compose v2
* Git

1. Repository klonen:

```
git clone https://github.com/Kiloiot/KiloServiceCenter.git
cd KiloServiceCenter
```

2. Vorlage der Umgebungsvariablen kopieren:

```
cp .env.example .env
```

3. Stack starten:

```
docker compose up --build -d
```

Dies startet `postgres`, `redis`, `mosquitto`, `certgen`, `kc-identity`, `kilocenter`, `kc-gateway`, und `kc-web`.

TLS-Zertifikate werden beim ersten Start automatisch generiert. Datenbankmigrationen laufen beim Start.

4. Öffnen Sie die Weboberfläche und melden Sie sich mit dem Standard-Admin-Konto an:

```
http://localhost/
```

|              |                               |
| ------------ | ----------------------------- |
| **E-Mail**   | `admin [at] kilocenter.local` |
| **Passwort** | `admin123!`                   |

> Ersetzen `[at]` durch `@` beim Anmelden.

> **Warnung:** Ändern Sie das Standard-Admin-Passwort oder entfernen Sie dieses Konto vor jeder produktiven oder öffentlich zugänglichen Bereitstellung. Die Standardanmeldedaten sind in diesem Repository veröffentlicht.

> **Wichtig:** KC-Identity und KC-Gateway müssen dasselbe HMAC-Secret verwenden, damit die JWT-Authentifizierung funktioniert. Das Secret ist in `config/config.identity-docker.yaml` und `config/config.gateway-docker.yaml` unter `auth.hmac_secret`. Wenn sich diese Werte unterscheiden, sehen Sie `invalid_token` Fehler nach dem Login. Siehe die [Docker-Compose-Anleitung](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/GitBook/02-GettingStarted/03-installation-docker-compose.md#authentication-secret-hmac) für Details.

Für Docker-spezifische Details, das Einrichten eines benutzerdefinierten TLS-Hostnamens und den CA-Export siehe [Docker-Compose-Installation](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/GitBook/02-GettingStarted/03-installation-docker-compose.md).

#### Andere Installationsmodi

* [Linux-Host-Installation](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/GitBook/02-GettingStarted/04-installation-linux-host.md) - manuelle Host-Bereitstellung mit manuellem `KC-Core/certgen`
* [Lokale VM und Automatisierung](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/GitBook/02-GettingStarted/05-installation-local-vm-and-automation.md) - Docker-basierter VM-Workflow
* [Erste Schritte](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/GitBook/02-GettingStarted/README.md) - Architektur, Voraussetzungen und Installationspfad

#### Export des CA-Zertifikats

Basisstationen und externe SCACI-Anwendungszentren benötigen das CA-Zertifikat, um TLS-Vertrauen herzustellen:

```
docker compose cp kilocenter:/app/certificates/ca.crt ./ca.crt
```

#### Beenden

```
# Dienste stoppen und Datenvolumes behalten
docker compose down

# Vollständiger Reset: entfernt Datenbank, Zertifikate und andere Docker-Volumes
docker compose down -v
```

### Konfiguration

Kopieren `.env.example` nach `.env` und bei Bedarf anpassen. Häufige Docker-Compose-Schlüssel:

```
KILOCENTER_POSTGRESQL_USERNAME=kilocenter
KILOCENTER_POSTGRESQL_PASSWORD=changeme
KILOCENTER_POSTGRESQL_DATABASE=kilocenter
KILOCENTER_LOG_LEVEL=info
# KILOCENTER_TLS_SERVER_NAME=localhost
```

Setzen Sie `KILOCENTER_TLS_SERVER_NAME` vor dem ersten `docker compose up` falls Sie ein Serverzertifikat für einen bestimmten Hostnamen statt für `localhost`.

### API-Dokumentation

#### gRPC-Zugriff

* externer gRPC / gRPC-web-Endpunkt: `http://localhost:9090`
* Gateway-Health: `http://localhost:8087/health`
* KC-Core-Health: `http://localhost:8086/health`
* KC-Identity-Health: `http://localhost:8088/health`
* gRPC-Reflection ist standardmäßig für Tooling in KC-Core und KC-Identity aktiviert

#### Dienstoberflächen

* `CoreService` - Geräteverwaltung, Protokolloperationen, Analysen, Überwachung, Zertifikate und SCACI-Überwachungs-RPCs
* `IdentityService` - Authentifizierung, Benutzer, Organisationen und API-Schlüssel
* `KiloCenterService` - Kompatibilitätsoberfläche, die an Core und Identity delegiert

In der lokalen Quellentwicklung kann KC-Web seinen Vite-Proxy über ein anderes Gateway-Ziel auf `INGRESS_GRPC_URL`. In Container-Bereitstellungen wird KC-Web von nginx bereitgestellt und proxyt automatisch zu KC-Gateway.

### Quell- und Host-Bereitstellung

Docker Compose ist der empfohlene Installationspfad für Evaluierung und die meisten Bereitstellungen.

Wenn Sie einen Workflow ohne Container benötigen, verwenden Sie die speziellen Anleitungen statt eines ad-hoc manuellen Starts:

* [Linux-Host-Installation](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/GitBook/02-GettingStarted/04-installation-linux-host.md)
* [Lokale VM und Automatisierung](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/GitBook/02-GettingStarted/05-installation-local-vm-and-automation.md)

#### Kubernetes

Für die Kubernetes-Bereitstellung wird ein Helm-Chart bereitgestellt. Siehe [helm/kilocenter/](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/helm/kilocenter) für das vollständige Chart und die Konfigurationsreferenz.

```
# KiloCenter installieren (erfordert externe PostgreSQL und Redis)
helm install kilocenter helm/kilocenter -f my-values.yaml
```

Siehe die [README des Helm-Charts](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/helm/kilocenter/README.md) für Voraussetzungen, Konfigurationsoptionen und Beispielwerte.

### MIOTY-Protokollunterstützung

KiloCenter implementiert den von der MIOTY Alliance definierten MIOTY-Service-Center-Stack:

* Bewusstsein für die physikalische Schicht beim Telegramm-Splitting
* Nachrichtenverarbeitung auf MAC- und Netzwerkschicht
* Unidirektionale und bidirektionale Endpunktunterstützung
* Behandlung kurzer Adressen
* Attachment- und Detachment-Workflows
* Unterstützung für Ende-zu-Ende-Verschlüsselung

Die Community Edition konzentriert sich auf den Kern-Stack des Service-Centers. Optionale MIOTY-Funktionen wie BSSCI-Subkanäle, der Variable MAC (VM)-Attachment, ReCon-Erweiterungen und der Enterprise-Betrieb mit mehreren Mandanten gehören zum Enterprise-Angebot.

#### Unterstützte Profile und Verhaltensweisen

* MIOTY TS-UNB
* Batteriebetriebener Endpunktbetrieb
* Mehrere Redundanzmuster
* Empfangsbehandlung über mehrere Basisstationen

### Produktionsbereitstellung

Dieses Repository ist nicht das empfohlene Mittel für produktive Rollouts. Verwenden Sie Kilo Cloud oder die on-premise Kilo IoT Platform für produktive Bereitstellungen, die kommerziellen Support, Betriebszusagen, SLA-Abdeckung, Mandantenfähigkeit und optionale MIOTY-Funktionen wie BSSCI-Subkanäle, Variable MAC (VM) und ReCon-Erweiterungen erfordern. Wählen Sie Kilo Cloud, wenn die Bereitstellung außerdem visuelle Regeln, Dashboards, historische Daten, Alarme und Eskalation, Prüfverlauf oder andere Plattform-Workflows benötigt, ohne diese Systeme selbst um die Community Edition herum aufzubauen.

#### Systemanforderungen

* Minimum: 2 CPU-Kerne, 4 GB RAM, 20 GB Speicher
* Empfohlen: 4 CPU-Kerne, 8 GB RAM, 100 GB SSD
* OS: Linux (Ubuntu 22.04 LTS empfohlen)

#### Sicherheitsaspekte

* Verwenden Sie in der Produktion immer TLS-Zertifikate
* Standardanmeldedaten vor der Bereitstellung ändern
* Beschränken Sie BSSCI (`5000`) und SCACI (`5001`) auf vertrauenswürdige Netzwerke
* Sichern Sie die Datenbank regelmäßig
* Überwachen Sie Systemalarme und Zertifikatsablauf

### Dokumentation

* [Erste Schritte](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/GitBook/02-GettingStarted/README.md)
* [Architektur und Komponenten](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/GitBook/02-GettingStarted/01-architecture-and-components.md)
* [Docker-Compose-Installation](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/GitBook/02-GettingStarted/03-installation-docker-compose.md)
* [Linux-Host-Installation](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/GitBook/02-GettingStarted/04-installation-linux-host.md)
* [Grundlagen der Konfiguration](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/GitBook/02-GettingStarted/06-configuration-basics.md)
* [API-Dokumentation](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/GitBook/04-Integrations/02-api.md)
* [MQTT-Integration](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/GitBook/04-Integrations/03-mqtt-first-steps.md)
* [Sicherheit](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/GitBook/05-Security/01-security-and-tenant-isolation-basics.md)

### Lizenz

KiloCenter Community Edition ist lizenziert unter der [GNU Affero General Public License v3.0 oder neuer](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/LICENSE).

Wenn Sie eine modifizierte Version als Netzwerkdienst betreiben, verpflichtet Sie die AGPL, den Nutzern den geänderten Quellcode zur Verfügung zu stellen. Das Quell-Repository ist [github.com/Kiloiot/KiloServiceCenter](https://github.com/Kiloiot/KiloServiceCenter).

Siehe [TRADEMARKS.md](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/TRADEMARKS.md) für die Markenrichtlinie.

Copyright 2024-2026 Tim Kravchunovsky und Mitwirkende.

### Support

* **Probleme**: [GitHub Issues](https://github.com/Kiloiot/KiloServiceCenter/issues)
* **Dokumentation**: [GitBook/](https://github.com/Kiloiot/kilo-service-center/blob/3d0674b296989f1f2337563549e59d6ebd480b65/GitBook)
* **MIOTY Alliance**: [mioty-alliance.com](https://mioty-alliance.com/)

### Danksagungen

KiloCenter basiert auf den von der MIOTY Alliance definierten Standards und auf gängigen Betriebsabläufen für selbst gehostete IoT-Infrastruktur.

<br>


---

# 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/project-overview.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.
