Configuration Overview
Thecompose.dev.yaml configuration includes:
- Local builds - Services are built from local source using the Dockerfile
- All ports exposed - Direct access to databases and services for debugging
- No resource limits - Services use available resources freely
- Observability built-in - Grafana dashboard on port 3000
- Hot reload support - Volume mounts for certificate sharing
Starting the Development Environment
Start All Services
Start the entire stack with automatic certificate generation:
The first startup will take several minutes as it builds all service images and generates TLS certificates.
Verify Services
Check that all services are running and healthy:All services should show status
healthy or running.Access the Dashboard
Open your browser and navigate to:
- Dashboard: http://localhost:3001
- API Server: http://localhost:8080
- Grafana: http://localhost:3000
Exposed Ports
The development environment exposes the following ports on localhost:| Service | Port | Purpose |
|---|---|---|
| PostgreSQL | 5432 | Database access |
| ClickHouse | 9440 | Analytics database (TLS) |
| Redis | 6379 | Cache (TLS) |
| Kafka | 9094, 9093 | Event streaming (SSL) |
| Meilisearch | 7700 | Search engine (HTTPS) |
| Grafana/LGTM | 3000, 4317 | Observability |
| users-service | 50051 | User management (gRPC/TLS) |
| workflows-service | 50052 | Workflow orchestration (gRPC/TLS) |
| jobs-service | 50053 | Job management (gRPC/TLS) |
| notifications-service | 50054 | Notifications (gRPC/TLS) |
| analytics-service | 50055 | Analytics (gRPC/TLS) |
| server | 8080 | REST API gateway |
| dashboard | 3001 | Web interface |
Working with the Development Environment
Viewing Logs
Rebuilding Services
After making code changes, rebuild and restart services:Restarting Services
Stopping the Environment
Certificate Management
Theinit-certs service automatically generates TLS certificates on first startup:
- CA Certificate - Root certificate authority
- Service Certificates - Individual certs for each service
- Client Certificates - Client certificates for mTLS authentication
- Auth Keypair - ED25519 keypair for JWT signing
./certs/ and mounted as read-only volumes.
Regenerating Certificates
If you need to regenerate certificates:Database Access
PostgreSQL
Connect to PostgreSQL with TLS:ClickHouse
Connect to ClickHouse:Redis
Connect to Redis with TLS:Health Checks
All services implement health checks:Observability
The development environment includes the LGTM stack (Loki, Grafana, Tempo, Mimir):- Grafana: http://localhost:3000
- OTLP Endpoint: http://localhost:4317
Troubleshooting
Services Not Starting
Check service dependencies and health:Certificate Errors
If you see certificate-related errors:Port Conflicts
If ports are already in use:Database Connection Issues
Verify database services are healthy:Development Workflow
- Make Code Changes - Edit source files in your IDE
- Rebuild Service -
docker compose -f compose.dev.yaml build <service> - Restart Service -
docker compose -f compose.dev.yaml up -d <service> - View Logs -
docker compose -f compose.dev.yaml logs -f <service> - Test Changes - Access service via exposed port
Next Steps
Configuration Reference
Detailed environment variable reference
API Documentation
Explore the REST API
Observability
Monitor your services with Grafana
Production Deployment
Deploy to production when ready