Files
unraid-docker-manager/.planning/REQUIREMENTS.md
T
Lucas Berger a8e947ec95 docs: split Phase 10 into modularization and update all
Phase 10: Workflow Modularization (MOD-01, MOD-02, DEBT-03)
Phase 11: Update All & Callback Limits (BATCH-04-07)
Phase 12: Polish & Audit (UNR-01, ENV-01, ENV-02, DEBT-02)
Phase 13: Documentation Overhaul (DEBT-01)

12 requirements across 4 phases.

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

119 lines
4.1 KiB
Markdown

# 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 |
| DEBT-03 | Phase 10 | Pending |
| BATCH-04 | Phase 11 | Pending |
| BATCH-05 | Phase 11 | Pending |
| BATCH-06 | Phase 11 | Pending |
| BATCH-07 | Phase 11 | Pending |
| UNR-01 | Phase 12 | Pending |
| ENV-01 | Phase 12 | Pending |
| ENV-02 | Phase 12 | Pending |
| DEBT-02 | Phase 12 | Pending |
| DEBT-01 | Phase 13 | 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*