# ============================================================================= # DEVELOPMENT STACK - MINIMAL LOCAL DEVELOPMENT # ============================================================================= # Minimal infrastructure for local development. Use this when you only need # the core infrastructure without all application services. # # For full platform, use docker-compose.stella-ops.yml instead. # # Usage: # docker compose -f docker-compose.dev.yml up -d # # This provides: # - PostgreSQL 18.1 on port 5432 # - Valkey 9.0.1 on port 6379 # - RustFS on port 8080 # ============================================================================= services: postgres: image: postgres:18.1-alpine container_name: stellaops-dev-postgres restart: unless-stopped environment: POSTGRES_USER: ${POSTGRES_USER:-stellaops} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-stellaops} POSTGRES_DB: ${POSTGRES_DB:-stellaops_dev} volumes: - postgres-data:/var/lib/postgresql/data ports: - "${POSTGRES_PORT:-5432}:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-stellaops}"] interval: 10s timeout: 5s retries: 5 valkey: image: valkey/valkey:9.0.1-alpine container_name: stellaops-dev-valkey restart: unless-stopped command: ["valkey-server", "--appendonly", "yes"] volumes: - valkey-data:/data ports: - "${VALKEY_PORT:-6379}:6379" healthcheck: test: ["CMD", "valkey-cli", "ping"] interval: 10s timeout: 5s retries: 5 rustfs: image: registry.stella-ops.org/stellaops/rustfs:2025.09.2 container_name: stellaops-dev-rustfs restart: unless-stopped command: ["serve", "--listen", "0.0.0.0:8080", "--root", "/data"] environment: RUSTFS__LOG__LEVEL: info RUSTFS__STORAGE__PATH: /data volumes: - rustfs-data:/data ports: - "${RUSTFS_PORT:-8080}:8080" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/health"] interval: 30s timeout: 10s retries: 3 volumes: postgres-data: valkey-data: rustfs-data: