Installation Guide
Get Cascade Platform running locally in 3-5 minutes using Docker Compose.
Prerequisites
Before you begin, make sure you have:
| Requirement | Version | Purpose |
|---|---|---|
| Docker | 20+ | Container runtime |
| Docker Compose | 2.0+ | Multi-container orchestration |
| Git | Latest | Clone the repository |
| RAM | 8GB+ | For local infrastructure |
Optional (for development):
- Go 1.23+ (if building from source)
- Make (for convenience commands)
Docker Compose Installation
Step 1: Clone the Repository
git clone https://github.com/cascade-platform/cascade.git
cd cascadeStep 2: Start the Platform
Start all infrastructure services with a single command:
make setupThis command:
- Starts all Docker containers
- Waits for services to be healthy
- Displays service URLs and next steps
- Takes ~3-5 minutes (first run downloads Docker images)
Step 3: Verify Installation
Check that all services are running and healthy:
make healthExpected output:
✓ PostgreSQL (port 5432)
✓ Redis (port 6379)
✓ Temporal (port 7233)
✓ NATS (port 4222)
✓ Ory Kratos (port 4433)
✓ SpiceDB (port 8443)
✓ Grafana (port 3000)All services should show ✓ (green checkmarks).
What Gets Installed
Core Services
| Service | Port | Purpose |
|---|---|---|
| PostgreSQL 16 | 5432 | Primary data storage (relational) |
| Redis 8 | 6379 | Cache + context storage + vector store |
| Temporal | 7233 | Durable workflow orchestration |
| NATS 2.x | 4222 | Event routing (JetStream for durability) |
| Ory Kratos | 4433 | Authentication (identity) |
| SpiceDB | 8443 | Authorization (permissions) |
| Grafana Stack | 3000 | Observability (logs, traces, metrics) |
What Each Does
PostgreSQL - Stores all application data (workflows, instances, state)
Redis - Powers caching (UI rendering), context storage for agents, vector embeddings
Temporal - Executes workflows with durability and replay guarantees
NATS - Enables event-driven workflows (webhook triggers, external signals)
Ory - Handles user authentication (OAuth2, sessions, MFA)
SpiceDB - Manages fine-grained access control (who can do what)
Grafana - Visualizes system health (via Prometheus, Loki, Jaeger)
Next Step
All set! Your platform is ready. Continue to the next guide:
Troubleshooting
”Docker is not running”
Error: Cannot connect to the Docker daemon
Solution:
# Start Docker (macOS/Windows)
open -a Docker
# Start Docker (Linux)
sudo systemctl start docker“Port already in use”
Error: Error response from daemon: bind: address already in use
Solution: Change the port in docker-compose.yml:
services:
postgres:
ports:
- "5433:5432" # Changed from 5432 to 5433“Services won’t start”
Error: service did not converge or containers keep restarting
Solution: Check logs:
# View all logs
docker-compose logs -f
# View specific service logs
docker-compose logs -f postgres
docker-compose logs -f temporal“Insufficient resources”
Error: Cannot allocate memory or Docker crashes
Solution: Increase Docker memory allocation:
- Docker Desktop (macOS/Windows): Settings → Resources → Memory (increase to 6-8GB)
- Linux: Edit
/etc/docker/daemon.jsonand restart Docker
”Health check fails”
Error: make health shows ✗ for some services
Solution: Wait longer (services take time to start):
# Wait 30 seconds and try again
sleep 30
make healthOr check service logs:
docker-compose logs redis“Cannot connect to services”
Error: Applications can’t reach PostgreSQL, Redis, etc.
Solution: Services are available at:
- PostgreSQL:
localhost:5432 - Redis:
localhost:6379 - Temporal:
localhost:7233 - NATS:
localhost:4222
Stopping and Restarting
Stop All Services
docker-compose downRestart Services
docker-compose up -dReset Everything (clean slate)
# Stop and remove all containers, volumes, networks
docker-compose down -v
# Start fresh
make setupKubernetes Installation (Advanced)
For production or Kubernetes deployments:
→ See Kubernetes Deployment Guide (coming in Phase 5)
Next Steps
Your platform is ready! Continue with:
- 5-Minute Quickstart - Deploy your first app
- First Workflow - Build a real workflow
- Core Concepts - Understand the platform
Need help? Check Troubleshooting or ask in our community.