CloudForge Local Development Environment
Local dockerized environment for developing and testing CloudForge applications. Spins up infrastructure services plus CI/CD, monitoring, CMS, and analytics applications — all pre-wired and health-checked.
Features:
- ✅ Infrastructure layer: PostgreSQL, MySQL, MariaDB, Redis, Mock OIDC (Cognito simulator)
- ✅ CMS & e-commerce: WordPress, WooCommerce, Drupal, Joomla
- ✅ CI/CD & VCS: Jenkins, GitLab, Gitea, Drone
- ✅ Monitoring: Prometheus, Grafana
- ✅ Selective startup — start only what you need (groups or individual services)
- ✅ Health checks and service monitoring
- ✅ Persistent volumes for data preservation
Status: ✓ Fully operational | Tested with Docker 28.1+
Prerequisites
- Docker Desktop 24.0+ (or Docker Engine 24+ with Compose plugin)
- 4GB+ RAM allocated to Docker (8GB recommended for full stack)
- 10GB+ disk space for volumes
- Ports 80, 3000-9090 available (or modify
docker-compose.yml)
macOS: Bash Version
The management scripts require bash 4+ (macOS ships bash 3.2 by default). Install via Homebrew:
brew install bash
Verify: bash --version should show 5.x. The scripts use #!/usr/bin/env bash which picks up the Homebrew bash automatically.
Check Prerequisites
docker --version # 24.0+ required
docker compose version # built-in Compose plugin (v2)
docker info | grep "Memory" # confirm RAM allocation
bash --version # 5.x required on macOS
Quick Start
# Clone and navigate to project root
git clone https://github.com/CloudForgeCI/cfc-core.git
cd cfc-core
# Start just infrastructure + CMS (fastest useful subset)
./scripts/docker-start.sh infrastructure cms
# Or start everything
./scripts/docker-start.sh all
# Check status
./scripts/docker-status.sh
The script prints URLs and credentials for every service it started.
Service Groups
./scripts/docker-start.sh infrastructure # Mock OIDC, PostgreSQL, Redis, MySQL, MariaDB
./scripts/docker-start.sh cicd # Jenkins, GitLab, Gitea, Drone
./scripts/docker-start.sh monitoring # Prometheus, Grafana
./scripts/docker-start.sh cms # WordPress, WooCommerce, Drupal, Joomla
./scripts/docker-start.sh core # Everything except CMS and analytics extras
./scripts/docker-start.sh all # All containers (~26)
You can combine groups and individual service names:
./scripts/docker-start.sh infrastructure monitoring wordpress
Architecture
Infrastructure Layer
- PostgreSQL (port 5432) - Primary relational database
- Redis (port 6379) - Caching & sessions
- MySQL (port 3306) - Additional relational DB
- MariaDB (port 3307) - MySQL-compatible DB
- Mock OIDC (port 3001) - Authentication testing
- MiniStack (port 4566) - Open-source AWS emulator for CloudFormation/ECS/ALB testing (
ministackcompose profile)
MiniStack is separate from the application containers above. It emulates AWS services for deploying synthesized CloudFormation from cfc-testing. See MiniStack Local Deployment for setup, deployment, verification, and incremental updates.
Service Categories
CI/CD & Version Control (4 apps)
- Jenkins (8080) - Automation server
- GitLab (8081) - DevOps platform
- Gitea (8083) - Lightweight Git service
- Drone (8082) - Container CI/CD
Monitoring & Analytics (5 apps)
- Prometheus (9090) - Metrics collection
- Grafana (3000) - Observability dashboards
- Metabase (3002) - BI & analytics
- Apache Superset (8088) - Data exploration
- HAProxy Stats (8404) - Load balancer stats
Infrastructure Services (3 apps)
- Nexus Repository (8084) - Artifact management
- Harbor (8085) - Container registry
- HashiCorp Vault (8200) - Secrets management
Collaboration (1 app)
- Mattermost (8065) - Team communications
CMS & E-Commerce
- WordPress (8087) - Blogging & content management
- WooCommerce (8089) - E-commerce (WordPress + WooCommerce plugin)
- Drupal (8090) - Enterprise CMS
- Joomla (8091) - Publishing platform
- Craft CMS and other platforms supported via
cms-servicetopology — see CMS Guide
Network Architecture
┌─────────────────────────────────────────────────────────┐
│ cfc-network │
├─────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌─────────────┐ │
│ │ PostgreSQL │ │ Redis │ │ MySQL │ │
│ │ (5432) │ │ (6379) │ │ (3306) │ │
│ └──────────────┘ └──────────────┘ └─────────────┘ │
│ │ │ │ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Application Services Layer │ │