Files
tiny-forge/plans/docker-watcher-core/PLAN.md
T
alexei.dolgolyov d40cf10f88 feat(docker-watcher): phase 10 - quick deploy & settings pages
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.
2026-03-27 22:20:20 +03:00

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