> 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-es/kilo-center/kilo-mioty-service-center/getting-started/prerequisites.md).

# Requisitos previos

Requisitos previos de KiloCenter — Docker, Docker Compose, Git y toolchains opcionales (Go, Bun) para instalar o compilar.

### Obligatorio

* Docker y Docker Compose v2
* Git

### Requisitos adicionales para compilar desde el código fuente

Si estás compilando KC-Core, KC-Gateway o KC-Web desde el código fuente (desarrollo o contribución):

* Go 1.24.4+
* Entorno de ejecución Bun (para la compilación de KC-Web y el servidor de desarrollo)

### Herramientas opcionales

Útil para validación y resolución de problemas:

* `grpcurl` para comprobaciones de la API gRPC
* `mosquitto_sub` y `mosquitto_pub` para pruebas de MQTT (solo necesario si habilitas la integración MQTT)
* `psql` para inspección directa de la base de datos

### Dependencias de infraestructura

KiloCenter requiere estos servicios en tiempo de ejecución:

* **PostgreSQL 18+** — almacén de datos principal
* **Redis 7+** — caché
* **Mosquitto 2.0+** — broker MQTT (opcional para la configuración inicial; MQTT está deshabilitado de forma predeterminada en `KC-Core/config.yaml`)

En la configuración recomendada, los tres se ejecutan mediante Docker Compose. Mosquitto está incluido en la pila de Docker Compose, pero KC-Core no se conectará a él a menos que MQTT esté habilitado explícitamente. Consulta los Primeros pasos con MQTT para obtener instrucciones de configuración.

### Puertos requeridos

Asegúrate de que estos puertos estén disponibles antes de comenzar:

| Puerto | Servicio            | Notas                                  |
| ------ | ------------------- | -------------------------------------- |
| 80     | KC-Web (contenedor) | nginx — SPA + proxy gRPC-web           |
| 9090   | KC-Gateway          | API externa gRPC-web                   |
| 8086   | Salud de KC-Core    | Salud y Prometheus                     |
| 8087   | Salud de KC-Gateway | Punto de conexión de salud del gateway |
| 5000   | BSSCI               | Protocolo de estación base (TLS)       |
| 5001   | SCACI               | Protocolo del centro de aplicaciones   |
| 50051  | gRPC de KC-Core     | Interno, solo loopback                 |
| 5433   | PostgreSQL          | Mapeo de puertos del host Docker       |
| 6379   | Redis               | Caché                                  |
| 1883   | MQTT                | Broker Mosquitto                       |

El puerto 5173 se usa solo en modo de desarrollo desde el código fuente (servidor de desarrollo de Vite).

### Certificados TLS

KiloCenter requiere certificados TLS para la comunicación con la estación base (BSSCI) y la comunicación con el centro de aplicaciones (SCACI). Genéralos usando el `certgen` servicio compose antes de iniciar KC-Core por primera vez:

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

> **Propiedad de los archivos (Linux):** Si los archivos generados pertenecen a root, vuelve a ejecutarlo con `UID=$(id -u) GID=$(id -g)` antepuesto.

Consulta los pasos de arranque de certificados en la instalación de Docker Compose.

### Estructura del repositorio

Clona el repositorio y trabaja desde el `kilocenter-modules/` directorio:

```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-es/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.
