NEW TO THE PROJECT? Start here: docs/getting-started/START_HERE.md
FIND YOUR TEAM: docs/getting-started/FIND_YOUR_TASKS.md
π Quick Start (All Services):python run_dev.py- Runs full stack with K8s config!
- Find your roles: docs/getting-started/FIND_YOUR_TASKS.md
- Follow your team's path: docs/getting-started/START_HERE.md
- Git hooks: Automatically configured on clone (protects main and dev branches)
# 1. Clone the repository
git clone <deepiri-platform repo>
cd deepiri-platform
# 2. One-time setup
pip install pyyaml
touch ops/k8s/secrets/secrets.yaml # Create empty secrets file (see ops/k8s/secrets/README.md)
# 3. Build all services (auto-cleans dangling images)
./build.sh # Linux/Mac/WSL
.\build.ps1 # Windows PowerShell
# 4. Start the full stack (with K8s config!)
python run_dev.py # π Recommended - loads k8s configmaps & secrets
# OR use docker compose directly
docker compose -f docker-compose.dev.yml up -d
# 5. Access services
# - Frontend: http://localhost:5173
# - API Gateway: http://localhost:5100
# - Cyrex AI: http://localhost:8000
# - Jupyter: http://localhost:8888
# - MLflow: http://localhost:5500- Docker & Docker Compose
- WSL2 (Windows only)
- 8GB+ RAM recommended
docker compose -f docker-compose.dev.yml downPro Tip: Use python run_dev.py instead of docker compose - it auto-loads your k8s config!
- RUN_DEV_GUIDE.md - π Run full stack with
python run_dev.py - team_dev_environments/QUICK_START.md - Team-specific environments
- HOW_TO_BUILD.md - THE definitive build guide
- docs/getting-started/GETTING_STARTED.md - Complete setup walkthrough
- SERVICE_COMMUNICATION_AND_TEAMS.md - Architecture overview
- docs/getting-started/ENVIRONMENT_VARIABLES.md - All environment variables (includes k8s config integration)
- docker-compose.dev.yml - Development configuration
- ops/k8s/ - Kubernetes configmaps and secrets (also used by Docker Compose)
- scripts/STORAGE-TROUBLESHOOTING.md - Disk space issues
- docs/LOG_INSPECTION_GUIDE.md - Debugging logs
- π Start here: docs/getting-started/FIND_YOUR_TASKS.md - Find your team and role
- π Complete setup: docs/getting-started/START_HERE.md - Step-by-step getting started guide
- docs/AI_TEAM_ONBOARDING.md - AI/ML development
- docs/BACKEND_TEAM_ONBOARDING.md - Backend services
- docs/FRONTEND_TEAM_ONBOARDING.md - Frontend development
- API Gateway (Port 5000) - Routes all requests
- Auth Service (Port 5001) - Authentication & authorization
- Task Orchestrator (Port 5002) - Task management
- Engagement Service (Port 5003) - Gamification
- Platform Analytics (Port 5004) - Analytics
- Notification Service (Port 5005) - Notifications
- External Bridge (Port 5006) - External integrations
- Challenge Service (Port 5007) - Challenges
- Realtime Gateway (Port 5008) - WebSockets
- Cyrex (Port 8000) - AI agent API
- Cyrex UI (Port 5175) - UI for AI agent testing
- Jupyter (Port 8888) - Research notebooks
- MLflow (Port 5500) - Experiment tracking
- PostgreSQL (Port 5432) - Primary database for users, roles, tasks, quests, metadata
- Redis (Port 6380) - Cache & sessions
- InfluxDB (Port 8086) - Time-series analytics
# Check if Minikube is running
minikube status
# If not running, start Minikube
minikube start --driver=docker --cpus=4 --memory=8192
# Configure Docker to use Minikube's Docker daemon
eval $(minikube docker-env)# Build all services
docker compose -f docker-compose.dev.yml build
# Or use build script
./build.sh # Linux/Mac/WSL
.\build.ps1 # Windows PowerShellOnly build if:
- Dockerfile changes
- package.json/requirements.txt changes (dependencies)
- First time setup
Note: With hot reload enabled, code changes don't require rebuilds - just restart the service!
docker compose -f docker-compose.dev.yml up -ddocker compose -f docker-compose.dev.yml downπ Recommended: Use Python scripts (professional K8s-like workflow):
cd team_dev_environments/backend-team
python run.py # Auto-loads k8s configmaps & secrets!Alternative: Use shell scripts:
cd team_dev_environments/backend-team
./start.sh # Linux/Mac
.\start.ps1 # WindowsOr use docker compose directly:
docker compose -f docker-compose.backend-team.yml up -dπ Python scripts are recommended - they mimic Kubernetes by loading config from ops/k8s/ automatically. No .env files needed!
docker compose -f docker-compose.<team_name>-team.yml downdocker compose -f docker-compose.dev.yml logs -fdocker compose -f docker-compose.dev.yml logs -f api-gateway
docker compose -f docker-compose.dev.yml logs -f cyrex
docker compose -f docker-compose.dev.yml logs -f auth-service
# ... etc for all services# Build specific service
./build.sh cyrex
# View logs
docker compose -f docker-compose.dev.yml logs -f
# View specific service logs
docker compose -f docker-compose.dev.yml logs -f cyrex
# Check status
docker compose -f docker-compose.dev.yml ps
# Restart service
docker compose -f docker-compose.dev.yml restart cyrex
# Clean up disk space
./scripts/remove-dangling-images.sh # Linux/Mac/WSL
.\scripts\remove-dangling-images.ps1 # Windows- Make code changes β Changes appear immediately (no rebuild needed!)
- Only rebuild when dependencies change (
package.json/requirements.txt) - Check logs:
docker compose -f docker-compose.dev.yml logs -f <service>
- Make code changes
- Run
./build.sh <service>(or.\build.ps1 <service>) - Run
docker compose -f docker-compose.dev.yml restart <service> - Check logs:
docker compose -f docker-compose.dev.yml logs -f <service>
The build scripts automatically clean up dangling Docker images, so you never get disk space bloat.
deepiri/
βββ deepiri-core-api/ # Legacy monolith (deprecated)
βββ platform-services/ # Microservices
β βββ backend/
β βββ deepiri-api-gateway/
β βββ deepiri-auth-service/
β βββ deepiri-task-orchestrator/
β βββ ... (other services)
βββ diri-cyrex/ # AI/ML service
βββ deepiri-web-frontend/ # React frontend
βββ ops/ # Kubernetes configs
βββ scripts/ # Utility scripts
βββ docs/ # Documentation
βββ build.sh / build.ps1 # Build scripts
βββ docker-compose.dev.yml # Development config
- Git hooks: Automatically configured on clone (protects main and dev branches)
- Fork the repository
- Create a feature branch (NOT from main or dev)
- Make your changes
- Run
./build.shto test - Submit a pull request to
staging(NOT main or dev)
See CONTRIBUTING.md for complete workflow details.
See LICENSE.md
- Documentation: See
docs/directory - Issues: Use GitHub issues
- Architecture: See SERVICE_COMMUNICATION_AND_TEAMS.md
Note: Old Skaffold-based build docs are archived in docs/archive/skaffold/ for reference only. Use the Docker Compose workflow documented in HOW_TO_BUILD.md.