Skip to content

Development Setup

This guide will help you set up a local development environment for contributing to the Intelligent Command Center.

  • Node.js v20.x or v22.x
  • pnpm v8.x or higher
  • Docker and Docker Compose
  • Kubernetes (minikube, kind, or Docker Desktop with Kubernetes)
  • Helm v3.x
  • Git
  • kubectl - Kubernetes CLI
  • PostgreSQL client - For database debugging
  • Redis/Valkey CLI - For cache debugging
Terminal window
git clone https://github.com/platformatic/intelligent-command-center.git
cd intelligent-command-center
Terminal window
pnpm install

Create a .env file in the root directory:

Terminal window
cp .env.example .env

Edit the .env file with your local configuration:

# Database connections (local PostgreSQL)
PLT_ACTIVITIES_DATABASE_URL=postgresql://icc:icc@localhost:5432/icc_activities
PLT_CLUSTER_MANAGER_DATABASE_URL=postgresql://icc:icc@localhost:5432/icc_cluster_manager
PLT_CONTROL_PLANE_DATABASE_URL=postgresql://icc:icc@localhost:5432/icc_control_plane
PLT_USER_MANAGER_DATABASE_URL=postgresql://icc:icc@localhost:5432/icc_user_manager
PLT_SCALER_DATABASE_URL=postgresql://icc:icc@localhost:5432/icc_scaler
PLT_COMPLIANCE_DATABASE_URL=postgresql://icc:icc@localhost:5432/icc_compliance
PLT_CRON_DATABASE_URL=postgresql://icc:icc@localhost:5432/icc_cron
PLT_COLD_STORAGE_DATABASE_URL=postgresql://icc:icc@localhost:5432/icc_cold_storage
PLT_TRAFFICANTE_DATABASE_URL=postgresql://icc:icc@localhost:5432/icc_trafficante
# Valkey/Redis connections
PLT_APPLICATIONS_VALKEY_CONNECTION_STRING=redis://localhost:6379/0
PLT_ICC_VALKEY_CONNECTION_STRING=redis://localhost:6379/1
# Development OAuth (optional)
PLT_GITHUB_OAUTH_CLIENT_ID=your_github_client_id
PLT_GITHUB_OAUTH_CLIENT_SECRET=your_github_client_secret
# Local URLs
VITE_API_BASE_URL=http://localhost:3000
VITE_SERVER_URL=http://localhost:3000
PLT_MAIN_URL=http://localhost:3000
# Development mode
NODE_ENV=development
PLT_LOG_LEVEL=debug

Using Docker Compose, in ICC root just run: docker compose up -d This will create all necessary databases and run migrations.

[!TODO]

[!TODO]

Terminal window
# Run all tests
pnpm test