Files
unraid-docker-manager/.planning/REQUIREMENTS.md
T
2026-02-08 19:57:10 -05:00

83 lines
3.3 KiB
Markdown

# 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 <container>` 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*