# Requirements: Unraid Docker Manager **Defined:** 2026-02-08 **Core Value:** When you get a container update notification or notice a service is down, you can immediately investigate and act from your phone. ## v1.3 Requirements Requirements for Unraid Update Status Sync. Each maps to roadmap phases. ### Infrastructure - [ ] **INFRA-01**: n8n container can reach Unraid GraphQL API endpoint - [ ] **INFRA-02**: Unraid API key created with Docker update permission, stored securely - [ ] **INFRA-03**: Container ID format verified via GraphQL query (document actual format) ### Sync - [ ] **SYNC-01**: After bot updates a single container (text command), Unraid badge clears automatically - [ ] **SYNC-02**: After bot updates a single container (inline keyboard), Unraid badge clears automatically - [ ] **SYNC-03**: After batch "update all" operation, all updated containers sync to Unraid in one call - [ ] **SYNC-04**: After batch selection update, all selected containers sync to Unraid in one call - [ ] **SYNC-05**: Sync failure does not block or fail the container update itself (best-effort) - [ ] **SYNC-06**: User receives no false-positive Unraid update notifications for bot-updated containers ### Documentation - [ ] **DOC-01**: README documents Unraid API setup (key creation, n8n container config) - [ ] **DOC-02**: ARCHITECTURE.md documents Unraid sync integration (GraphQL API, data flow, new nodes) ## Future Requirements Deferred to v1.4+. Tracked but not in current roadmap. ### Manual Sync - **MSYNC-01**: User can trigger manual `/sync` command to sync all containers to Unraid - **MSYNC-02**: User can trigger `/sync ` to sync a specific container ### Unraid Status Read - **UREAD-01**: Bot can read Unraid's update detection data (which containers Unraid thinks need updates) - **UREAD-02**: Container status keyboard shows Unraid's update view alongside Docker state ## Out of Scope Explicitly excluded. Documented to prevent scope creep. | Feature | Reason | |---------|--------| | Bidirectional status (Unraid as source of truth) | Unraid's update detection has known bugs; sync-back must be proven first | | Persistent monitoring daemon | Conflicts with n8n's workflow execution model; adds operational complexity | | Full Unraid API integration (auth, templates) | Overkill for status sync; GraphQL mutation is sufficient | | Automatic template XML regeneration | Risks breaking container configuration; status sync is separate from config | | Sync ALL containers on every operation | Performance impact, unnecessary — sync only updated containers | | Real-time Docker event monitoring | Requires separate service; n8n handles this reactively via bot commands | ## Traceability Which phases cover which requirements. Updated during roadmap creation. | Requirement | Phase | Status | |-------------|-------|--------| | INFRA-01 | — | Pending | | INFRA-02 | — | Pending | | INFRA-03 | — | Pending | | SYNC-01 | — | Pending | | SYNC-02 | — | Pending | | SYNC-03 | — | Pending | | SYNC-04 | — | Pending | | SYNC-05 | — | Pending | | SYNC-06 | — | Pending | | DOC-01 | — | Pending | | DOC-02 | — | Pending | **Coverage:** - v1.3 requirements: 11 total - Mapped to phases: 0 - Unmapped: 11 --- *Requirements defined: 2026-02-08* *Last updated: 2026-02-08 after initial definition*