## MODIFIED Requirements ### Requirement: Compose files for deployment The project SHALL provide Docker Compose files for single-command deployment. Compose files SHALL use `build:` context for local development. Release notes SHALL document the versioned image tag for users pulling pre-built images. #### Scenario: Start NVIDIA deployment - **WHEN** an admin runs `docker compose -f compose.nvidia.yaml up -d` - **THEN** the engine SHALL start with GPU access, bind-mount the data directory, and be reachable on the configured port #### Scenario: Start ROCm deployment - **WHEN** an admin runs `docker compose -f compose.rocm.yaml up -d` - **THEN** the engine SHALL start with GPU access via ROCm device passthrough, bind-mount the data directory, and be reachable on the configured port #### Scenario: Automatic restart - **WHEN** the engine process crashes or the host reboots - **THEN** Docker SHALL automatically restart the container (restart policy `unless-stopped`) #### Scenario: Configure via environment - **WHEN** an admin sets environment variables in the compose file (KB_MODEL, KB_API_KEY, KB_DEVICE, etc.) - **THEN** the engine SHALL use those values #### Scenario: Pre-built image deployment - **WHEN** an admin wants to use a pre-built engine image without building from source - **THEN** the engine release notes SHALL include the exact `docker pull` command with the versioned tag (e.g. `docker.dcglab.co.uk/dcg/kb/engine:engine-v2.1.0-nvidia`)