# 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 - [x] **API-01**: n8n API key created and accessible - [x] **API-02**: Claude Code can read workflow via API - [x] **API-03**: Claude Code can update workflow via API - [x] **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. - [x] **MSG-01**: Send a message to the bot and receive a response - [x] **STA-01**: Check container status ("status") - [x] **CTL-01**: Start a container by name - [x] **CTL-02**: Stop a container by name - [x] **CTL-03**: Restart a container by name - [x] **UPD-01**: Update a container (pull new image, recreate) - [x] **LOG-01**: View container logs with configurable line count - [x] **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*