diff --git a/.planning/phases/06-deployment-scale/CONTEXT.md b/.planning/phases/06-deployment-scale/CONTEXT.md index 8e58329b..9f8ea0b2 100644 --- a/.planning/phases/06-deployment-scale/CONTEXT.md +++ b/.planning/phases/06-deployment-scale/CONTEXT.md @@ -6,18 +6,24 @@ **Target Version**: v2.0 stable -**CRITICAL DECISION**: Single-instance deployment (not multi-site). Docker containerization only. No scale testing. +**CRITICAL DECISIONS** (LOCKED): +- Single-instance deployment (not multi-site) +- **TWO deployment modes**: Docker AND Standalone (start_server.sh) +- **Shared config files** between both modes +- No scale testing --- ## Phase Overview -Phase 6 delivers containerized deployment for v2.0. After Phase 5 delivers search, exports, and quick quantity adjustment, the system needs: +Phase 6 delivers dual-mode deployment for v2.0. After Phase 5 delivers search, exports, and quick quantity adjustment, the system needs: -1. **Containerization** — Reliable Docker/Compose setup for reliable deployment -2. **Automation** — Single-command deployment (`./deploy.sh`) -3. **Operational readiness** — Health checks, monitoring, runbook documentation -4. **Documentation** — Clear deployment and troubleshooting guides for operators +1. **Docker Deployment** — Reliable Docker/Compose setup for containerized deployments +2. **Standalone Deployment** — `./start_server.sh` script for direct server startup (development + deployment) +3. **Shared Configuration** — Both modes use the same config files (no duplication) +4. **Automation** — Single-command setup for both modes +5. **Operational readiness** — Health checks, monitoring, runbook documentation +6. **Documentation** — Clear deployment guides for both modes **OUT OF SCOPE**: Scale testing, multi-site federation, performance optimization, multi-instance clustering @@ -25,11 +31,24 @@ Phase 6 delivers containerized deployment for v2.0. After Phase 5 delivers searc ## Key Decisions Made During Planning -### 1. Docker Strategy (LOCKED) +### 1. Dual-Mode Deployment Strategy (LOCKED) + +**Mode 1: Docker Deployment** - **Existing**: docker-compose.yml and Dockerfiles already in place (backend/, proxy/) - **Gap**: Automated deployment scripts, environment templates, health checks - **Focus**: Enhance existing Dockerfiles → production-grade, add health checks, optimize layers -- **Deployment Target**: Single-instance Docker Compose (local development + production) +- **Target**: `./deploy.sh` orchestrates Docker Compose + +**Mode 2: Standalone Deployment** +- **New**: `./start_server.sh` script for direct server startup (no Docker required) +- **Scope**: Backend FastAPI + Frontend Next.js servers managed by script +- **Target**: Development, testing, and deployment without Docker +- **Config**: Uses same config files as Docker mode (shared inventory.env) + +**Shared Configuration** +- Both modes read from same `inventory.env` and config files +- No environment-specific duplication +- Single config source of truth ### 2. Deployment Automation (LOCKED) - **Target**: `./deploy.sh` (single entry point) — no manual steps