Files
unraid-docker-manager/.planning/REQUIREMENTS.md
T
Lucas Berger 63df54e8e3 docs: formalize v1.2 requirements and roadmap
12 requirements across 3 phases:
- Phase 10: Modularization, update all, callback limits (7 reqs)
- Phase 11: Unraid sync, env audit, tech debt (4 reqs)
- Phase 12: Documentation overhaul (1 req)

Removed WEB-01 (webhook fix) - already resolved.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 11:21:31 -05:00

4.1 KiB

Requirements: Unraid Docker Manager

Defined: 2026-02-04 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.0 Requirements (Validated)

Core Commands

  • CMD-01: User can send a message to the bot and receive a response — v1.0
  • CMD-02: User can check container status via "status" command — v1.0
  • CMD-03: User can start a container by name — v1.0
  • CMD-04: User can stop a container by name — v1.0
  • CMD-05: User can restart a container by name — v1.0
  • CMD-06: User can update a container (pull new image, recreate) — v1.0
  • CMD-07: User can view container logs with configurable line count — v1.0

Security

  • SEC-01: Bot only responds to configured Telegram user ID — v1.0

v1.1 Requirements (Validated)

n8n API

  • API-01: n8n API access for programmatic workflow management — v1.1

Docker Security

  • SEC-02: Docker socket access via filtered proxy (no direct socket mount) — v1.1

Inline Keyboard UX

  • UX-01: Container list with pagination via inline keyboard — v1.1
  • UX-02: Action buttons for container operations — v1.1
  • UX-03: Confirmation dialogs for dangerous actions (stop, update) — v1.1
  • UX-04: Progress feedback via message edits during operations — v1.1

Batch Operations

  • BATCH-01: Batch start multiple containers at once — v1.1
  • BATCH-02: Batch stop multiple containers at once — v1.1
  • BATCH-03: Batch restart multiple containers at once — v1.1

v1.2 Requirements (Active)

Modularization

  • MOD-01: Main workflow broken into logical sub-workflows for maintainability
  • MOD-02: Sub-workflows callable from main workflow without duplication

Batch Updates

  • BATCH-04: User can update all containers with :latest tag via text command ("update all")
  • BATCH-05: User can update all containers with :latest tag via inline keyboard
  • BATCH-06: Batch selection keyboard supports selecting more than 2 containers
  • BATCH-07: Batch selection keyboard supports containers with long names

Unraid Integration

  • UNR-01: After bot updates a container, Unraid UI no longer shows "update available" for that container

Environment & Config

  • ENV-01: Documentation clarifies TELEGRAM_USERID env var necessity (required vs hardcoded)
  • ENV-02: Documentation clarifies TELEGRAM_BOT_TOKEN env var necessity (env var vs n8n credential)

Technical Debt

  • DEBT-01: README documents proxy architecture (not direct docker.sock mounting)
  • DEBT-02: Fix duplicate --max-time flags in image pull command
  • DEBT-03: Consolidate duplicated update flow between single and batch paths

v2+ Requirements (Deferred)

Resource Monitoring

  • RES-01: User can query resource usage ("what's using the most memory?")

Notifications

  • NOTF-01: Bot proactively notifies when containers have updates available

Out of Scope

Feature Reason
Take over Unraid notifications Keep existing notification system, bot is for control
Deploy new containers Manage existing only, not create new ones
Natural language understanding Simple keyword matching sufficient, Claude API adds complexity
Proactive monitoring Bot is reactive (you ask, it answers)
Mobile app Telegram is the interface

Traceability

Requirement Phase Status
MOD-01 Phase 10 Pending
MOD-02 Phase 10 Pending
BATCH-04 Phase 10 Pending
BATCH-05 Phase 10 Pending
BATCH-06 Phase 10 Pending
BATCH-07 Phase 10 Pending
UNR-01 Phase 11 Pending
ENV-01 Phase 11 Pending
ENV-02 Phase 11 Pending
DEBT-01 Phase 12 Pending
DEBT-02 Phase 11 Pending
DEBT-03 Phase 10 Pending

Coverage:

  • v1.2 requirements: 12 total
  • Mapped to phases: 12
  • Unmapped: 0 ✓

Requirements defined: 2026-02-04 Last updated: 2026-02-04 after v1.2 milestone initialization