Files
unraid-docker-manager/.planning/REQUIREMENTS.md
T
2026-02-08 20:01:15 -05:00

3.6 KiB

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