129 lines
5.5 KiB
Markdown
129 lines
5.5 KiB
Markdown
# Roadmap — Unraid Docker Manager
|
|
|
|
## Milestones
|
|
|
|
- ✅ **v1.0 Docker Control via Telegram** — Phases 1-5 (shipped 2026-02-02) -> [Archive](milestones/v1.0-ROADMAP.md)
|
|
- ✅ **v1.1 n8n Integration & Polish** — Phases 6-9 (shipped 2026-02-04) -> [Archive](milestones/v1.1-ROADMAP.md)
|
|
- ✅ **v1.2 Modularization & Polish** — Phases 10-13 + 10.1, 10.2 (shipped 2026-02-08) -> [Archive](milestones/v1.2-ROADMAP.md)
|
|
- 🚧 **v1.3 Unraid Update Status Sync** — Phases 14-16 (in progress)
|
|
|
|
## Phases
|
|
|
|
<details>
|
|
<summary>✅ v1.0 Docker Control via Telegram (Phases 1-5) — SHIPPED 2026-02-02</summary>
|
|
|
|
- [x] Phase 1: Foundation (2/2 plans)
|
|
- [x] Phase 2: Container Actions (2/2 plans)
|
|
- [x] Phase 3: Core Operations (4/4 plans)
|
|
- [x] Phase 4: Container Logs (1/1 plan)
|
|
- [x] Phase 5: Polish & Ship (3/3 plans)
|
|
|
|
</details>
|
|
|
|
<details>
|
|
<summary>✅ v1.1 n8n Integration & Polish (Phases 6-9) — SHIPPED 2026-02-04</summary>
|
|
|
|
- [x] Phase 6: n8n API Access (1/1 plan)
|
|
- [x] Phase 7: Socket Security (3/3 plans)
|
|
- [x] Phase 8: Inline Keyboard Infrastructure (3/3 plans)
|
|
- [x] Phase 9: Batch Operations (4/4 plans)
|
|
|
|
</details>
|
|
|
|
<details>
|
|
<summary>✅ v1.2 Modularization & Polish (Phases 10-13 + 10.1, 10.2) — SHIPPED 2026-02-08</summary>
|
|
|
|
- [x] Phase 10: Workflow Modularization (7/7 plans)
|
|
- [x] Phase 10.1: Aggressive Workflow Modularization (9/9 plans) (INSERTED)
|
|
- [x] Phase 10.2: Better Logging & Log Management (4/4 plans) (INSERTED)
|
|
- [x] Phase 11: Update All & Callback Limits (2/2 plans)
|
|
- [x] Phase 12: Polish & Audit (2/2 plans)
|
|
- [x] Phase 13: Documentation Overhaul (1/1 plan)
|
|
|
|
</details>
|
|
|
|
### 🚧 v1.3 Unraid Update Status Sync (In Progress)
|
|
|
|
**Milestone Goal:** After the bot updates a container, Unraid recognizes it's current — no stale badges, no false-positive notifications.
|
|
|
|
#### Phase 14: Unraid API Access
|
|
|
|
**Goal:** Validate GraphQL API connectivity and establish secure authentication from n8n container to Unraid host.
|
|
|
|
**Depends on:** Nothing (first phase of milestone)
|
|
|
|
**Requirements:** INFRA-01, INFRA-02, INFRA-03
|
|
|
|
**Success Criteria** (what must be TRUE):
|
|
1. n8n container can successfully reach Unraid's GraphQL API endpoint via HTTP request
|
|
2. Unraid API key exists with Docker update permission and is securely stored in gitignored `.env.unraid-api`
|
|
3. Container ID format is documented (e.g., `docker:<name>`) and verified via test GraphQL query
|
|
4. Test GraphQL query can list containers and return expected data structure
|
|
|
|
**Plans:** 2 plans
|
|
|
|
Plans:
|
|
- [ ] 14-01-PLAN.md — Credential infrastructure and Unraid GraphQL test workflow nodes
|
|
- [ ] 14-02-PLAN.md — GraphQL API contract documentation and connectivity verification
|
|
|
|
#### Phase 15: Single Container Sync
|
|
|
|
**Goal:** After bot updates a single container via text command or inline keyboard, Unraid automatically clears the "update available" badge without user intervention.
|
|
|
|
**Depends on:** Phase 14
|
|
|
|
**Requirements:** SYNC-01, SYNC-02, SYNC-05
|
|
|
|
**Success Criteria** (what must be TRUE):
|
|
1. After bot updates a container via text command (e.g., "update plex"), Unraid's WebGUI shows no update badge for that container
|
|
2. After bot updates a container via inline keyboard update button, Unraid's WebGUI shows no update badge for that container
|
|
3. Unraid sync failure does not block or fail the Docker container update itself (best-effort sync)
|
|
4. User receives clear feedback if sync fails (warning message, but update still succeeds)
|
|
5. n8n-update.json sub-workflow calls Unraid GraphQL `updateContainer` mutation after successful Docker API update
|
|
|
|
**Plans:** TBD
|
|
|
|
Plans:
|
|
- [ ] 15-01: TBD
|
|
|
|
#### Phase 16: Batch Sync & Documentation
|
|
|
|
**Goal:** Batch update operations sync all updated containers to Unraid efficiently, and users can set up Unraid sync integration from documentation alone.
|
|
|
|
**Depends on:** Phase 15
|
|
|
|
**Requirements:** SYNC-03, SYNC-04, SYNC-06, DOC-01, DOC-02
|
|
|
|
**Success Criteria** (what must be TRUE):
|
|
1. After "update all" operation, all updated containers sync to Unraid in a single efficient GraphQL call
|
|
2. After batch selection update, all selected containers sync to Unraid in a single efficient GraphQL call
|
|
3. User receives no false-positive Unraid Telegram notifications for containers updated via the bot
|
|
4. README documents how to create Unraid API key, configure n8n container networking, and set up `.env.unraid-api`
|
|
5. ARCHITECTURE.md documents Unraid sync integration including GraphQL API contract, data flow diagram, and new n8n nodes
|
|
|
|
**Plans:** TBD
|
|
|
|
Plans:
|
|
- [ ] 16-01: TBD
|
|
|
|
## Progress
|
|
|
|
| Phase | Name | Milestone | Plans Complete | Status | Completed |
|
|
|-------|------|-----------|----------------|--------|-----------|
|
|
| 1-5 | Foundation through Polish | v1.0 | 12/12 | Complete | 2026-02-02 |
|
|
| 6-9 | API, Security, Keyboard, Batch | v1.1 | 11/11 | Complete | 2026-02-04 |
|
|
| 10 | Workflow Modularization | v1.2 | 7/7 | Complete | 2026-02-05 |
|
|
| 10.1 | Aggressive Modularization | v1.2 | 9/9 | Complete | 2026-02-06 |
|
|
| 10.2 | Better Logging & Log Management | v1.2 | 4/4 | Complete | 2026-02-07 |
|
|
| 11 | Update All & Callback Limits | v1.2 | 2/2 | Complete | 2026-02-08 |
|
|
| 12 | Polish & Audit | v1.2 | 2/2 | Complete | 2026-02-08 |
|
|
| 13 | Documentation Overhaul | v1.2 | 1/1 | Complete | 2026-02-08 |
|
|
| 14 | Unraid API Access | v1.3 | 0/2 | Planned | - |
|
|
| 15 | Single Container Sync | v1.3 | 0/TBD | Not started | - |
|
|
| 16 | Batch Sync & Documentation | v1.3 | 0/TBD | Not started | - |
|
|
|
|
**Total: 3 milestones shipped (13 phases, 48 plans) + 1 milestone in progress (3 phases)**
|
|
|
|
---
|
|
*Updated: 2026-02-08 — Phase 14 planned (2 plans)*
|