16034bbdb8
Phases 15-18: Infrastructure Foundation, API Migration, Cleanup, Documentation 23 requirements mapped across 4 phases with 0 gaps. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
5.1 KiB
5.1 KiB
Requirements: Unraid Docker Manager
Defined: 2026-02-09 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.4 Requirements
Requirements for v1.4 Unraid API Native milestone. Each maps to roadmap phases.
API Migration
- API-01: Container status query works via Unraid GraphQL API (replaces Docker REST API)
- API-02: Container start works via Unraid GraphQL mutation
- API-03: Container stop works via Unraid GraphQL mutation
- API-04: Container restart works via sequential stop+start GraphQL mutations (no native restart)
- API-05: Container update works via single
updateContainerGraphQL mutation (replaces 5-step Docker flow) - API-06: Batch container update works via
updateContainersGraphQL mutation - API-07: "Update all :latest" works via Unraid GraphQL API with :latest filtering
- API-08: Unraid update badges clear automatically after bot-initiated updates (no manual sync)
Infrastructure
- INFRA-01: Container ID translation layer maps names to Unraid PrefixedID format (129-char
server_hash:container_hash) - INFRA-02: Callback data encoding works with Unraid PrefixedIDs within Telegram's 64-byte limit
- INFRA-03: GraphQL response normalization transforms Unraid API responses to match workflow contracts
- INFRA-04: GraphQL error handling standardized (check
response.errors[], handle HTTP 304 "already in state") - INFRA-05: Timeout configuration accounts for myunraid.net cloud relay latency (200-500ms per request)
Cleanup
- CLN-01: Docker socket proxy references removed from all workflow JSON files
- CLN-02: Container logs feature removed from workflows (text command, inline keyboard, sub-workflow)
- CLN-03: n8n-logs.json sub-workflow removed or emptied
- CLN-04: docker-socket-proxy container can be safely removed (no remaining dependencies)
- CLN-05: n8n container config cleaned (remove proxy network, socket-related env vars)
- CLN-06: "unraid" test command updated or removed (v1.3 connectivity test)
Documentation
- DOC-01: README.md updated to reflect Unraid API-native architecture (remove proxy references)
- DOC-02: ARCHITECTURE.md updated with Unraid GraphQL API contracts and patterns
- DOC-03: CLAUDE.md updated with new API patterns and removed proxy recipes
- DOC-04: Cleanup instructions documented for removing docker-socket-proxy container
Future Requirements
Deferred to future release. Tracked but not in current roadmap.
Container Logs (Removed in v1.4)
- LOGS-01: Container logs via Unraid GraphQL API (if API adds logs support in future)
- LOGS-02: Container logs via SSH fallback (alternative to Docker socket proxy)
Advanced Features
- ADV-01: Real-time container stats via GraphQL subscription
- ADV-02: Container autostart configuration via bot
- ADV-03: Port conflict detection and reporting
- ADV-04: Direct LAN fallback if myunraid.net relay unavailable
Out of Scope
Explicitly excluded. Documented to prevent scope creep.
| Feature | Reason |
|---|---|
| Container logs via Telegram | Removed in v1.4 — not valuable enough to justify hybrid architecture (Docker proxy + Unraid API) |
| GraphQL subscriptions (WebSocket) | Requires infrastructure n8n doesn't natively support, high complexity for low value |
| Dual API support (Docker + Unraid) | No hybrid architecture — single API simplifies maintenance and debugging |
| New container deployment | Manage existing only, deployment rarely needed from mobile |
| Natural language understanding | Simple keyword matching works, Claude API adds unnecessary complexity |
Traceability
Which phases cover which requirements. Updated during roadmap creation.
| Requirement | Phase | Status |
|---|---|---|
| INFRA-01 | Phase 15 | Pending |
| INFRA-02 | Phase 15 | Pending |
| INFRA-03 | Phase 15 | Pending |
| INFRA-04 | Phase 15 | Pending |
| INFRA-05 | Phase 15 | Pending |
| API-01 | Phase 16 | Pending |
| API-02 | Phase 16 | Pending |
| API-03 | Phase 16 | Pending |
| API-04 | Phase 16 | Pending |
| API-05 | Phase 16 | Pending |
| API-06 | Phase 16 | Pending |
| API-07 | Phase 16 | Pending |
| API-08 | Phase 16 | Pending |
| CLN-01 | Phase 17 | Pending |
| CLN-02 | Phase 17 | Pending |
| CLN-03 | Phase 17 | Pending |
| CLN-04 | Phase 17 | Pending |
| CLN-05 | Phase 17 | Pending |
| CLN-06 | Phase 17 | Pending |
| DOC-01 | Phase 18 | Pending |
| DOC-02 | Phase 18 | Pending |
| DOC-03 | Phase 18 | Pending |
| DOC-04 | Phase 18 | Pending |
Coverage:
- v1.4 requirements: 23 total
- Mapped to phases: 23
- Unmapped: 0 ✓
Phase distribution:
- Phase 15 (Infrastructure Foundation): 5 requirements
- Phase 16 (API Migration): 8 requirements
- Phase 17 (Cleanup): 6 requirements
- Phase 18 (Documentation): 4 requirements
Requirements defined: 2026-02-09 Last updated: 2026-02-09 after roadmap creation — 100% coverage achieved