88 lines
3.6 KiB
Markdown
88 lines
3.6 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 | Phase 14 | Pending |
|
|
| INFRA-02 | Phase 14 | Pending |
|
|
| INFRA-03 | Phase 14 | Pending |
|
|
| SYNC-01 | Phase 15 | Pending |
|
|
| SYNC-02 | Phase 15 | Pending |
|
|
| SYNC-03 | Phase 16 | Pending |
|
|
| SYNC-04 | Phase 16 | Pending |
|
|
| SYNC-05 | Phase 15 | Pending |
|
|
| SYNC-06 | Phase 16 | Pending |
|
|
| DOC-01 | Phase 16 | Pending |
|
|
| DOC-02 | Phase 16 | Pending |
|
|
|
|
**Coverage:**
|
|
- v1.3 requirements: 11 total
|
|
- Mapped to phases: 11
|
|
- Unmapped: 0
|
|
|
|
**Phase distribution:**
|
|
- Phase 14 (Unraid API Access): 3 requirements (INFRA-01, INFRA-02, INFRA-03)
|
|
- Phase 15 (Single Container Sync): 3 requirements (SYNC-01, SYNC-02, SYNC-05)
|
|
- Phase 16 (Batch Sync & Documentation): 5 requirements (SYNC-03, SYNC-04, SYNC-06, DOC-01, DOC-02)
|
|
|
|
---
|
|
*Requirements defined: 2026-02-08*
|
|
*Last updated: 2026-02-08 after v1.3 roadmap creation*
|