CPI Documentation
Getting Started

Getting Started

Set up your CPI development environment and get the platform running locally.

Prerequisites

  • Node.js >= 22.0.0
  • pnpm 10+ (enabled via corepack)
  • Docker and Docker Compose (for PostgreSQL, Redis, Mosquitto, MailHog)
  • Git

Quick Start

Clone the repository

git clone https://github.com/lefteq/cpi.git
cd cpi

Enable pnpm via corepack

corepack enable
corepack prepare pnpm@10 --activate

Start infrastructure

This starts PostgreSQL + TimescaleDB, Redis, Mosquitto MQTT broker, and MailHog.

pnpm docker:up

Create environment file

cp apps/api/.env.example apps/api/.env

The default .env values work out of the box with the Docker services.

Start the development servers

pnpm dev:apps

Starts both API (:4410) and Admin (:4010).

pnpm dev:api

API server at http://localhost:4410.

pnpm dev:admin

Admin dashboard at http://localhost:4010.

pnpm dev:mobile

Expo development server for iOS/Android.

Port Allocations

ServicePort
API4410
Admin Dashboard4010
Documentation4020
PostgreSQL + TimescaleDB5434
Redis6381
MQTT (internal)1883
MQTT TLS (mTLS devices)8883
MQTT TLS (JWT partner auth)8884
MQTT WebSocket9001
MailHog SMTP1027
MailHog Web UI8027

Key Commands

pnpm build                # Build all packages
pnpm lint                 # Lint all packages
pnpm typecheck            # Type check all packages
pnpm orval                # Generate API types from OpenAPI spec
pnpm docker:up            # Start Docker services
pnpm docker:down          # Stop Docker services
pnpm docker:logs          # Tail Docker service logs
pnpm db:migrate           # Run TypeORM migrations

Next Steps

On this page