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

Installation: Docker Compose

Install KiloCenter with Docker Compose — start the four-service MIOTY stack including KC-Web, no host toolchain.

Goal

Start a working local stack using Docker Compose. The full stack — including KC-Web — runs entirely in containers. No host Go toolchain or Bun runtime is required.

Step 1: Configure Environment

From kilocenter-modules/:

cp .env.example .env

Edit .env if you want to change database credentials or log level. The defaults work for a local evaluation.

Step 2: Generate TLS Certificates

KC-Core requires TLS certificates for BSSCI and SCACI. Generate them using the certgen service built into the KC-Core image:

docker compose run --rm certgen

File ownership (Linux): If generated files are owned by root, rerun with UID=$(id -u) GID=$(id -g) prefixed.

This creates four files in KC-Core/certificates/:

File
Purpose

ca.crt

CA certificate (distribute to base stations)

ca.key

CA private key (keep secure, used to sign client certs)

server.crt

Server certificate (used by KC-Core BSSCI/SCACI TLS listeners)

server.key

Server private key

For a production FQDN, pass -server:

Important: KC-Core will fail to start without these certificates. See the Security page for the full certgen flag reference, certificate renewal, and client certificate generation.

Step 3: Start All Services

This builds and starts all seven runtime services. Subsequent starts after a rebuild use cached layers where possible.

Step 4: Validate Startup

Then open KC-Web in your browser:

Note: MQTT integration is disabled by default. The Mosquitto broker runs in Docker but KC-Core does not connect to it until you enable MQTT in config/config.docker.yaml. See MQTT First Steps when you are ready to set up MQTT.

Stop All Services

To also remove persistent data volumes:


Source Dev Mode

For contributors who want to run KC-Core, KC-Gateway, and KC-Web from source:

Step 1: Start Infrastructure Containers

This starts PostgreSQL (mapped to host port 5433), Redis (6379), and Mosquitto (1883).

Step 2: Generate TLS Certificates

Same as above — use the certgen compose service:

Step 3: Install KC-Web Dependencies

From kilocenter-modules/KC-Web/:

Step 4: Start All Services from Source

From kilocenter-modules/:

This builds and starts KC-Core, KC-Gateway, and KC-Web. Logs are written to logs/runtime/. KC-Web is available at http://localhost:5173.

Stop Source Services

Last updated