Files
unraid-docker-manager/.planning/REQUIREMENTS.md
T
Lucas Berger 5aa07e8dfa docs(phase-6): complete n8n API Access phase
- All 4 API requirements verified (API-01 through API-04)
- Phase goal achieved: Claude Code can programmatically read, update, and test workflows
- Verification passed: 4/4 must-haves confirmed

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 08:21:34 -05:00

3.8 KiB

Requirements: Unraid Docker Manager

Defined: 2026-02-02 Core Value: Immediate container control from your phone

v1.1 Requirements

Requirements for milestone v1.1 — n8n Integration & Polish.

Security

  • SEC-01: Docker socket proxy deployed and configured
  • SEC-02: n8n uses socket proxy instead of direct socket mount
  • SEC-03: Socket proxy blocks dangerous APIs (exec, create, build)
  • SEC-04: All existing bot commands work through socket proxy

n8n API

  • API-01: n8n API key created and accessible
  • API-02: Claude Code can read workflow via API
  • API-03: Claude Code can update workflow via API
  • API-04: Claude Code can view execution history and logs

Telegram Keyboards

  • KEY-01: Status command shows container list with inline action buttons
  • KEY-02: Tapping action button performs start/stop/restart on container
  • KEY-03: Dangerous actions (stop, restart, update) show confirmation dialog
  • KEY-04: Progress shown via message edit during operations
  • KEY-05: Buttons removed after action completes

Batch Operations

  • BAT-01: User can update multiple containers in one command
  • BAT-02: Batch updates execute sequentially with per-container feedback
  • BAT-03: "Update all" command updates all containers with updates available
  • BAT-04: "Update all" requires confirmation before executing
  • BAT-05: One container failure doesn't abort remaining batch
  • BAT-06: Final summary shows success/failure count

Unraid Sync

  • UNR-01: After bot updates a container, Unraid's update badge clears

Environment Audit

  • ENV-01: Verify if TELEGRAM_USERID container var is needed (vs hardcoded)
  • ENV-02: Verify if TELEGRAM_BOT_TOKEN container var is needed (vs n8n credential)

v1.0 Requirements (Validated)

Shipped 2026-02-02.

  • MSG-01: Send a message to the bot and receive a response
  • STA-01: Check container status ("status")
  • CTL-01: Start a container by name
  • CTL-02: Stop a container by name
  • CTL-03: Restart a container by name
  • UPD-01: Update a container (pull new image, recreate)
  • LOG-01: View container logs with configurable line count
  • AUTH-01: Bot only responds to your Telegram user ID

Out of Scope

Feature Reason
Proactive update notifications Bot is reactive; Unraid Telegram integration handles notifications
Natural language understanding Keyword matching works well; Claude API adds complexity
Deploy new containers Manage existing only; rarely needed from mobile
Resource monitoring queries Deferred to future version
Automatic scheduled updates User-initiated only; avoids downtime at bad times
MCP server for n8n REST API simpler for v1.1; reconsider if iteration is slow

Traceability

Requirement Phase Status
API-01 Phase 6 Complete
API-02 Phase 6 Complete
API-03 Phase 6 Complete
API-04 Phase 6 Complete
SEC-01 Phase 7 Pending
SEC-02 Phase 7 Pending
SEC-03 Phase 7 Pending
SEC-04 Phase 7 Pending
KEY-01 Phase 8 Pending
KEY-02 Phase 8 Pending
KEY-03 Phase 8 Pending
KEY-04 Phase 8 Pending
KEY-05 Phase 8 Pending
BAT-01 Phase 9 Pending
BAT-02 Phase 9 Pending
BAT-03 Phase 9 Pending
BAT-04 Phase 9 Pending
BAT-05 Phase 9 Pending
BAT-06 Phase 9 Pending
UNR-01 Phase 10 Pending
ENV-01 Phase 10 Pending
ENV-02 Phase 10 Pending

Coverage:

  • v1.1 requirements: 22 total
  • Mapped to phases: 22
  • Unmapped: 0

Requirements defined: 2026-02-02 Last updated: 2026-02-02 after roadmap creation