5aa07e8dfa
- 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>
3.8 KiB
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