Add dual-registry Docker deployment (GHCR + private registry)

- Update CI workflow to build separate backend/frontend images via matrix
- Push to both ghcr.io and registry.cklnet.com
- Add private registry login step with secret credentials
- Keep existing metadata-action tags and multi-platform builds
- Update CHANGELOG.md and docs/TODO.md

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/pop_puller_to_gmail/sessions/05b6d21a-2397-4039-9c69-46db79ec11de
This commit is contained in:
copilot-swe-agent[bot]
2026-03-23 22:41:10 +00:00
parent 9e167874b5
commit 9ccd0ce881
3 changed files with 26 additions and 7 deletions
+1
View File
@@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Upgraded `sqlalchemy` from `2.0.25` to `2.0.48` to fix `AssertionError: Class ... directly inherits TypingOnly but has additional attributes` on Python 3.14 (`__static_attributes__`, `__firstlineno__`)
### Added
- **Dual-registry Docker deployment**: CI now builds separate backend and frontend images and pushes to both GHCR (`ghcr.io`) and private registry (`registry.cklnet.com`) using a matrix strategy
- **Database-backed configuration**: `AppSetting` model and `ConfigService` for hybrid config (DB-first, env-var fallback)
- Admin API endpoints for managing settings (`GET/PUT/DELETE /api/v1/settings`)
- Default settings seeded into database on first startup (SMTP, processing, Gmail API, notifications)