Unraid GraphQL API foundation — connectivity, authentication, and
container ID format verified for native Unraid API integration.
Phase 14: Unraid API Access (2 plans, 4 tasks)
- Established Unraid GraphQL API connectivity via myunraid.net cloud relay
- Dual credential storage (.env.unraid-api + n8n env vars)
- Container ID format: {server_hash}:{container_hash} (128-char SHA256 pair)
- Complete API contract documented in ARCHITECTURE.md
- "unraid" test command added to Telegram bot
Phases 15-16 dropped (superseded by v1.4 Unraid API Native).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
4.4 KiB
Project Milestones: Unraid Docker Manager
v1.2 Modularization & Polish (Shipped: 2026-02-08)
Delivered: Modular sub-workflow architecture with "Update All" functionality — 7 domain sub-workflows, bitmap-encoded batch selection, and comprehensive documentation.
Phases completed: 10-13 + 10.1, 10.2 (6 phases, 25 plans)
Key accomplishments:
- Decomposed monolithic workflow into 7 domain sub-workflows (Update, Actions, Logs, Batch UI, Status, Confirmation, Matching) — 287 total nodes
- Bitmap-encoded batch selection eliminating Telegram's 64-byte callback limit (supports 50+ containers)
- "Update All :latest" via text command and inline keyboard with infrastructure container exclusion
- Correlation ID tracking for request tracing across sub-workflow boundaries
- Comprehensive documentation overhaul (README with architecture, configuration, troubleshooting)
- 9 UAT bugs fixed during Update All verification including infrastructure self-destruction protection
Stats:
- 96 files modified (+51,319/-4,862 lines)
- 10,987 lines across 8 workflow JSON files
- 6 phases, 25 plans, 153 commits
- 4 days (2026-02-04 → 2026-02-08)
Git range: v1.1 → 0471565
Tech debt accepted: 4 non-blocking items (descoped logging features, 3 orphan nodes, legacy batch parsers, missing Phase 12 verification)
What's next: v2.0 with resource monitoring or proactive notifications.
v1.1 n8n Integration & Polish (Shipped: 2026-02-04)
Delivered: Inline keyboard UX and Docker security hardening — button-driven container control with filtered socket proxy.
Phases completed: 6-9 (11 plans total)
Key accomplishments:
- n8n API access for programmatic workflow management
- Docker socket proxy deployment removing direct socket exposure
- Inline keyboard with container list, pagination, and action buttons
- Batch operations with sequential execution and progress feedback
- Confirmation dialogs for dangerous actions (stop, update)
Stats:
- 38 files modified (+14,062/-4,239 lines)
- 8,485 lines of JSON workflow
- 4 phases, 11 plans
- 2 days (2026-02-03 → 2026-02-04)
Git range: 7e85697 → fa7c603
What's next: v1.2 with workflow modularization, webhook fix, environment audit, and documentation.
v1.0 Docker Control via Telegram (Shipped: 2026-02-02)
Delivered: Telegram bot for managing Docker containers on Unraid — status, start, stop, restart, update, logs via keyword commands.
Phases completed: 1-5 (12 plans total)
Key accomplishments:
- Telegram bot with keyword routing (no Claude API dependency)
- Docker socket integration via n8n with curl
- Container matching with exact-match priority
- Update command with image pull, recreate, old image cleanup
- Log viewing with configurable line counts
- Single-user auth via Telegram user ID
Stats:
- 2 files (n8n-workflow.json, README.md)
- ~3,400 lines of JSON workflow + markdown
- 5 phases, 12 plans
- 5 days from start to ship (2026-01-28 → 2026-02-02)
Git range: Initial commit → e5c02f9
v1.3 Unraid Update Status Sync (Shipped: 2026-02-09)
Delivered: Unraid GraphQL API foundation — connectivity, authentication, and container ID format verified for native Unraid API integration.
Phases completed: 14 (1 phase, 2 plans) — Phases 15-16 dropped (superseded by v1.4 Unraid API Native)
Key accomplishments:
- Established Unraid GraphQL API connectivity from n8n via myunraid.net cloud relay
- Dual credential storage (.env.unraid-api + n8n env vars) mirroring existing patterns
- Production-verified container ID format:
{server_hash}:{container_hash}(128-char SHA256 pair) - Documented complete Unraid GraphQL API contract in ARCHITECTURE.md
- Added "unraid" test command to Telegram bot for connectivity validation
- Corrected schema documentation (isUpdateAvailable does not exist in Unraid 7.2)
Stats:
- 23 files modified (+4,038/-2,213 lines)
- 1 phase, 2 plans, 4 tasks
- 19 commits
- 1 day (2026-02-08)
Git range: v1.2 → e4bd653
Descope note: Original scope included Phases 15-16 (sync update status back to Unraid). These were dropped because v1.4 will replace the Docker socket proxy entirely with Unraid's GraphQL API — when Unraid IS the container management API, the badge sync problem solves itself.
Tech debt accepted: None — clean foundation for v1.4.
What's next: v1.4 Unraid API Native — replace Docker socket proxy with Unraid GraphQL API for all container operations.