Quick deploy with 3-step flow (paste URL, inspect, deploy). Settings pages for global config, registries CRUD with test connection, NPM credentials with masked display. Toast notification system. Mount Toast component in root layout.
5.2 KiB
Feature: Docker Watcher Core
Branch: feature/docker-watcher-core
Base branch: main
Created: 2026-03-27
Status: 🟡 In Progress
Strategy: Big Bang (with per-phase code quality reviews)
Mode: Automated
Execution: Orchestrator
Summary
A self-hosted tool that automates Docker container deployment with Nginx Proxy Manager integration. Detects new images from Gitea/GitHub registries, deploys containers, and configures reverse proxy routing — all from a web dashboard. Supports multiple simultaneous versions of the same project.
Build & Test Commands
- Build (Go):
go build ./cmd/server/ - Test (Go):
go test ./... - Lint (Go):
golangci-lint run - Build (Frontend):
cd web && npm run build - Test (Frontend):
cd web && npm test - Dev server:
go run ./cmd/server/
Phases
- Phase 1: Project Scaffold & SQLite Store [domain: backend] → subplan
- Phase 2: Crypto & Config Seed Loader [domain: backend] → subplan
- Phase 3: Docker Client [domain: backend] → subplan
- Phase 4: NPM Client [domain: backend] → subplan
- Phase 5: Registry Client & Poller [domain: backend] → subplan
- Phase 6: Webhook Handler [domain: backend] → subplan
- Phase 7: Deployer & Health Checker [domain: backend] → subplan
- Phase 8: REST API Layer [domain: backend] → subplan
- Phase 9: SvelteKit Dashboard & Project Views [domain: frontend] → subplan
- Phase 10: Quick Deploy & Settings Pages [domain: frontend] → subplan
- Phase 11: Frontend Embed & Real-Time Updates [domain: fullstack] → subplan
- Phase 12: Hardening [domain: backend] → subplan
- Phase 13: Frontend Polish & Modern UI [domain: frontend] → subplan
- Phase 14: Volumes & Environment [domain: fullstack] → subplan
Parallel Execution Notes
- Phases 3 and 4 are independent (Docker client vs NPM client) — can run in parallel
- Phases 9 and 10 are independent (dashboard vs settings pages) — can run in parallel
Phase Progress Log
| Phase | Domain | Status | Review | Build | Committed |
|---|---|---|---|---|---|
| Phase 1: Scaffold & Store | backend | ✅ Complete | ✅ Pass w/ fixes | ⏭️ Skip (Big Bang) | ✅ |
| Phase 2: Crypto & Config | backend | ✅ Complete | ✅ Pass w/ notes | ⏭️ Skip (Big Bang) | ✅ |
| Phase 3: Docker Client | backend | ✅ Complete | ✅ Pass w/ fixes | ⏭️ Skip (Big Bang) | ✅ |
| Phase 4: NPM Client | backend | ✅ Complete | ✅ Pass w/ fixes | ⏭️ Skip (Big Bang) | ✅ |
| Phase 5: Registry & Poller | backend | ✅ Complete | ✅ Pass w/ fixes | ⏭️ Skip (Big Bang) | ✅ |
| Phase 6: Webhook Handler | backend | ✅ Complete | ✅ Pass w/ fixes | ⏭️ Skip (Big Bang) | ✅ |
| Phase 7: Deployer & Health | backend | ✅ Complete | ✅ Pass w/ fixes | ⏭️ Skip (Big Bang) | ✅ |
| Phase 8: API Layer | backend | ✅ Complete | ✅ Pass w/ fixes | ⏭️ Skip (Big Bang) | ✅ |
| Phase 9: Dashboard | frontend | ✅ Complete | ⬜ Pending | ⏭️ Skip (Big Bang) | ✅ |
| Phase 10: Settings & Deploy | frontend | ✅ Complete | ⬜ Pending | ⏭️ Skip (Big Bang) | ⬜ |
| Phase 11: Embed & SSE | fullstack | ⬜ Not Started | ⬜ | ⏭️ Skip (Big Bang) | ⬜ |
| Phase 12: Hardening | backend | ⬜ Not Started | ⬜ | ⏭️ Skip (Big Bang) | ⬜ |
| Phase 13: UI Polish | frontend | ⬜ Not Started | ⬜ | ⏭️ Skip (Big Bang) | ⬜ |
| Phase 14: Volumes & Env | fullstack | ⬜ Not Started | ⬜ | ✅ Required (Final) | ⬜ |
Amendment Log
Amendment 1 — 2026-03-27
Type: Added phase What changed: Added Phase 13: Frontend Polish & Modern UI after Phase 12 Why: User wants modern look & feel with SVG icons and polished frontend Impact on existing phases: None — Phase 13 runs after all functionality is complete. Build/tests now required on Phase 13 (final) instead of Phase 12.
Amendment 2 — 2026-03-27
Type: Modified phase What changed: Added Task 13 (EN/RU localization) to Phase 13: Frontend Polish & Modern UI Why: User wants bilingual support (English and Russian) in the dashboard Impact on existing phases: None — contained within Phase 13
Amendment 3 — 2026-03-27
Type: Added phase What changed: Added Phase 14: Volumes & Environment — per-project env vars with per-stage overrides, volume mounts with shared/isolated modes, encryption for sensitive values, UI editor Why: Missing from feature planner phases but present in root PLAN.md Phase 4 Impact on existing phases: Phase 14 becomes the final phase (build/tests required). Phase 13 (UI Polish) remains but no longer the final phase for build enforcement.
Final Review
- Comprehensive code review
- Full build passes
- Full test suite passes
- Security review
- Merged to
main