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.
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.ioPassword:
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, andkc-webDatabase 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
Clone the repository:
Copy the environment template:
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.
Open the web interface and log in with the default admin account:
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.yamlandconfig/config.gateway-docker.yamlunderauth.hmac_secret. If these values differ, you will seeinvalid_tokenerrors 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
Linux Host Installation - manual host deployment with manual
KC-Core/certgenLocal VM and Automation - Docker-based VM workflow
Getting Started - architecture, prerequisites, and installation routing
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:9090Gateway health:
http://localhost:8087/healthKC-Core health:
http://localhost:8086/healthKC-Identity health:
http://localhost:8088/healthgRPC 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 RPCsIdentityService- authentication, users, organizations, and API keysKiloCenterService- 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 networksBack 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
Issues: GitHub Issues
Documentation: GitBook/
MIOTY Alliance: mioty-alliance.com
Acknowledgments
KiloCenter is built on standards defined by the MIOTY Alliance and on common operational patterns for self-hosted IoT infrastructure.
Last updated