Remove webhook secret from logs and API response. Add auth-pending note to router. Fix decrypt fallback that would use ciphertext as auth token on decrypt failure.
4.5 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
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 | ⬜ Not Started | ⬜ | ⏭️ Skip (Big Bang) | ⬜ |
| Phase 10: Settings & Deploy | frontend | ⬜ Not Started | ⬜ | ⏭️ 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 | ⬜ | ✅ 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
Final Review
- Comprehensive code review
- Full build passes
- Full test suite passes
- Security review
- Merged to
main