For the complete documentation index, see llms.txt. This page is also available as Markdown.

Project Overview

KiloCenter project overview — MIOTY-native open-source server with Docker, Linux-host, and Kubernetes deploy paths.

KiloCenter - Open Source MIOTY Network Server

KiloCenter is an open source MIOTY network server for operating base stations, endpoints, uplink and downlink traffic, and application integrations on a self-hosted service center.

It is a MIOTY-native service center built specifically for the MIOTY stack from the ground up. It is not a fork, wrapper, or adaptation of another LPWAN network server.

MIOTY is a LPWAN protocol built for interference resilience, long-range communication, and large endpoint fleets. KiloCenter implements the service-center side of that stack with Docker and Linux-host deployment paths, gRPC and MQTT integrations, and a web management console.

How it relates to Kilo Cloud

KiloCenter Community Edition is the free, open-source, self-hosted service center. Its boundary is the MIOTY network layer: base stations, endpoints, traffic, service-center operations, and interfaces that pass data to another application.

The Enterprise edition of KiloCenter is built into Kilo Cloud. Choose Kilo Cloud when the deployment also needs the rest of an IoT platform: normalized device data, visual dashboards, historical charts, a visual rules engine, sustained-condition triggers, alarms and escalation, audit history, access control, and an AI assistant. MIOTY devices then use those features directly instead of requiring separate downstream systems.

Choose
When it fits

KiloCenter Community Edition

You need a MIOTY service center, want to operate it yourself, and will integrate its gRPC or MQTT data into your own applications.

Kilo Cloud

You want the Enterprise service center managed for you and need rules, visualization, alarms, or other Kilo platform capabilities around MIOTY data.

Kilo IoT Platform on-premise

You need the complete enterprise platform within infrastructure you control.

See KiloCenter or Kilo Cloud? for the feature boundary, or start with the Kilo Cloud MIOTY connector.

Live Demo

A demo environment is available at https://servicecenter.kiloiot.io/

  • Username: demo [at] kiloiot.io

  • Password: demo1234

Replace [at] with @ when signing in.

Production Use Notice

The community edition is provided as-is without commercial support. Production use is at your own risk.

For supported production deployments, use Kilo Cloud or the on-premise Kilo IoT Platform (Contact Sales). The Enterprise edition of KiloCenter is built into Kilo Cloud and includes commercial support, SLA-backed operation, multi-tenancy, and optional MIOTY capabilities including BSSCI sub-channels, the Variable MAC (VM) attachment, and ReCon extension support. Kilo Cloud also adds the complete platform around MIOTY data: device management, normalization, dashboards, rules, alarms, audit history, access control, and AI-assisted operations.

Features

MIOTY Network Server

  • MIOTY BSSCI Protocol v1.0.0 - TLS-secured base station to service center communication

  • Base Station Management - certificate-based authentication and status monitoring

  • Endpoint Management - endpoint registry with attachment propagation

  • Message Processing - uplink and downlink handling with deduplication

  • Multi-Base Station Operation - shared coverage across base stations within a self-hosted deployment

  • Telegram Splitting Support - native handling of MIOTY PHY behavior

  • Pattern Diversity - multi-pattern transmission support for robustness

  • Security - AES-128 network and application key handling

Service Center Features

  • BSSCI Interface - base station to service center protocol support

  • SCACI Interface - service center to application center protocol support with TLS, session persistence, monitoring, and queue/status flows

  • Event System - centralized event persistence and alerting

  • Certificate Management - CA-based trust model with rotation and monitoring support

  • Database Partitioning - monthly partitioned message storage

  • Archival System - data lifecycle and retention support

  • MQTT Integration - Mosquitto-backed application integration path

  • gRPC API - gRPC and gRPC-web management APIs through KC-Gateway

Management Interface

  • Web Dashboard - React-based management console

  • Real-time Monitoring - live status, traffic, and alert views

  • Base Station Registration - GUI-based provisioning workflows

  • Endpoint Registration - GUI endpoint management workflows

  • Certificate Workflows - server certificate status, renewal, and base station certificate workflows

  • Message Viewer - traffic views for different message types

Platform Features

  • Docker Compose Deployment - postgres, redis, mosquitto, certgen, kc-identity, kilocenter, kc-gateway, and kc-web

  • Database Migrations - version-controlled schema changes

  • Structured Logging - configurable logs and health endpoints

  • Cross-platform Development - Linux, macOS, and Windows via WSL

Architecture

KiloCenter uses a modular service layout:

This is the runtime view. KC-Gateway is the external API ingress for the service center. It exposes native gRPC and gRPC-web on port 9090, so both KC-Web and third-party applications integrate with KiloCenter through the same public API surface. KC-Core also uses internal RPCs to KC-Identity for organization, membership, and admin-resolution flows. In Docker Compose, a one-shot certgen service also runs before KC-Core on first startup to create the shared CA and server certificate set. Repository modules are listed below.

Repository Modules

  • KC-Web - web management interface served by nginx on port 80

  • KC-Gateway - external gRPC-web ingress and request proxy on port 9090

  • KC-Identity - identity and organization service on port 50052

  • KC-Core - BSSCI, SCACI, internal gRPC API, and service-center logic

  • KC-DB - PostgreSQL migrations, repositories, and storage interfaces used by the runtime services

  • KC-MQTT - MQTT integration package used by KC-Core; not deployed as a separate container in the community Docker stack

  • pkg - shared versioning and common Go utilities used across modules

Getting Started

Quick Start (Docker Compose)

Prerequisites:

  • Docker and Docker Compose v2

  • Git

  1. Clone the repository:

  1. Copy the environment template:

  1. Start the stack:

This starts postgres, redis, mosquitto, certgen, kc-identity, kilocenter, kc-gateway, and kc-web.

TLS certificates are generated automatically on first boot. Database migrations run on startup.

  1. Open the web interface and log in with the default admin account:

Email

admin [at] kilocenter.local

Password

admin123!

Replace [at] with @ when signing in.

Warning: Change the default admin password or remove this account before any production or public-facing deployment. The default credentials are published in this repository.

Important: KC-Identity and KC-Gateway must share the same HMAC secret for JWT authentication to work. The secret is configured in config/config.identity-docker.yaml and config/config.gateway-docker.yaml under auth.hmac_secret. If these values differ, you will see invalid_token errors after login. See the Docker Compose guide for details.

For Docker-specific detail, custom TLS hostname setup, and CA export, see Docker Compose Installation.

Other Install Modes

Exporting the CA Certificate

Base stations and external SCACI application centers need the CA certificate to establish TLS trust:

Stopping

Configuration

Copy .env.example to .env and adjust as needed. Common Docker Compose keys:

Set KILOCENTER_TLS_SERVER_NAME before the first docker compose up if you need a server certificate for a specific hostname instead of localhost.

API Documentation

gRPC Access

  • external gRPC / gRPC-web endpoint: 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 is enabled by default on KC-Core and KC-Identity for tooling

Service Surfaces

  • CoreService - device management, protocol operations, analytics, monitoring, certificates, and SCACI monitoring RPCs

  • IdentityService - authentication, users, organizations, and API keys

  • KiloCenterService - compatibility surface that delegates to Core and Identity

In local source development, KC-Web can point its Vite proxy at a different gateway target through INGRESS_GRPC_URL. In container deployments, KC-Web is served by nginx and proxies to KC-Gateway automatically.

Source and Host Deployment

Docker Compose is the recommended install path for evaluation and most deployments.

If you need a non-container workflow, use the dedicated guides instead of ad-hoc manual startup:

Kubernetes

A Helm chart is provided for Kubernetes deployment. See helm/kilocenter/ for the full chart and configuration reference.

Refer to the Helm chart README for prerequisites, configuration options, and example values.

MIOTY Protocol Support

KiloCenter implements the MIOTY service-center stack defined by the MIOTY Alliance:

  • Physical layer awareness for telegram splitting

  • MAC and network-layer message handling

  • Unidirectional and bidirectional endpoint support

  • Short address handling

  • Attachment and detachment flows

  • End-to-end encryption support

The community edition focuses on the core service-center stack. Optional MIOTY capabilities such as BSSCI sub-channels, the Variable MAC (VM) attachment, ReCon extensions, and enterprise multi-tenant operation belong to the enterprise offering.

Supported Profiles and Behaviors

  • MIOTY TS-UNB

  • Battery-powered endpoint operation

  • Multiple redundancy patterns

  • Multi-base-station reception handling

Production Deployment

This repository is not the recommended production rollout vehicle. Use Kilo Cloud or the on-premise Kilo IoT Platform for production deployments that require commercial support, operational guarantees, SLA coverage, multi-tenancy, and optional MIOTY capabilities such as BSSCI sub-channels, Variable MAC (VM), and ReCon extensions. Choose Kilo Cloud when the deployment also needs visual rules, dashboards, historical data, alarms and escalation, audit history, or other platform workflows without building those systems around the Community Edition yourself.

System Requirements

  • Minimum: 2 CPU cores, 4 GB RAM, 20 GB storage

  • Recommended: 4 CPU cores, 8 GB RAM, 100 GB SSD

  • OS: Linux (Ubuntu 22.04 LTS recommended)

Security Considerations

  • Always use TLS certificates in production

  • Change default credentials before deployment

  • Restrict BSSCI (5000) and SCACI (5001) to trusted networks

  • Back up the database regularly

  • Monitor system alerts and certificate expiry

Documentation

License

KiloCenter Community Edition is licensed under the GNU Affero General Public License v3.0 or later.

If you run a modified version as a network service, the AGPL requires you to make the modified source available to users. The source repository is github.com/Kiloiot/KiloServiceCenter.

See TRADEMARKS.md for trademark policy.

Copyright 2024-2026 Tim Kravchunovsky and contributors.

Support

Acknowledgments

KiloCenter is built on standards defined by the MIOTY Alliance and on common operational patterns for self-hosted IoT infrastructure.

Last updated