Engineering
What this does: Runs the entire forecasting platform as 20 containerized services with a single command — providing enterprise-grade reliability, monitoring, and scaling without complex server management.
Containerization Strategy
The entire system is containerized using Docker, with Docker Compose orchestrating a 20-service multi-container environment across 5 functional groups.Service Groups
- ML & Orchestration
- Model Serving
- Monitoring
- Experiment Tracking
Networking
All containers share a single bridge network defined indocker-compose.yml:
docker-compose.yml
http://model-server:8000).
Resource Constraints
All services have CPU and memory limits defined to prevent resource contention:Environment Variables
Key environment variables (set via.env file):
Optimization
We use a Multi-Stage Build strategy inDockerfile.model-server.ultra-optimized to ensure fast builds and small images:
- Cache Mounts: Uses
--mount=type=cache,target=/root/.cache/pipto speed up dependency installation by 40–50%. - Layer Separation: Copies requirements files before source code to maximize Docker layer caching.
- Non-Root User: Runs as
appuserfor security compliance.
MinIO Buckets
Thecreatebuckets init container creates the following S3 buckets on first startup:
Related Pages
Environment Variables
Complete reference for all environment variables used across services.
Inference & Serving
FastAPI model serving layer that runs inside the model-server container.
