Part-DB-server/assets/controllers
Sebastian Almberg d346708150
Add Docker update support via Watchtower integration (#1330)
* Add Docker update support via Watchtower integration

Add web-based Docker container updates using Watchtower HTTP API.
When configured with WATCHTOWER_API_URL and WATCHTOWER_API_TOKEN
environment variables, administrators can trigger container updates
from the Update Manager page.

Features:
- WatchtowerClient service for Watchtower HTTP API communication
- Docker update progress page with animated Docker whale logo
- Real-time step tracking: Trigger, Pull, Stop, Restart, Health Check, Verify
- CSP-compatible progress bar using CSS classes
- Translated UI strings via Stimulus values
- Health endpoint polling to detect container restart
- Watchtower setup documentation for Docker installations
- WatchtowerClient made nullable for non-Docker installations
- Unit tests for WatchtowerClient

* Fixed translation message IDs

* Switch Watchtower docs to maintained nicholas-fedor fork

The original containrrr/watchtower is no longer maintained (last release
Nov 2023). Point users to the drop-in compatible active fork and add an
info note explaining why. No code changes — the HTTP API is identical,
so WatchtowerClient works against either image.

* Fixed exception when github is not reachable

* Only show version string in health endpoint, when user has permissions

* Do not expose watchtower API port in example docker-compose file

* Show if updates, backup restore and backup download are allowed in update manager page

* Report 'not authorized' for version in health endpoint if user lacks permission

---------

Co-authored-by: Jan Böhmer <mail@jan-boehmer.de>
2026-05-03 23:00:31 +02:00
..
common Label Scanner Enhancements: LCSC barcode, create part, augmented scanning (#1194) 2026-02-22 21:26:44 +01:00
elements Fixed webpack build 2026-05-03 01:34:14 +02:00
filters Added copyright/license info to files 2022-11-29 21:21:26 +01:00
helpers Allow to scan labels anywhere on the page 2026-03-01 16:48:29 +01:00
pages Clear input after option selection in tomselect fields 2026-03-07 21:22:29 +01:00
backup_restore_controller.js Add backup restore feature 2026-01-30 23:24:48 +01:00
bulk_import_controller.js Refactor bulk import functionality to make controller smaller (use services) add DTOs and use stimulus controllers on frontend 2025-09-09 20:30:27 +02:00
bulk_job_manage_controller.js Refactor bulk import functionality to make controller smaller (use services) add DTOs and use stimulus controllers on frontend 2025-09-09 20:30:27 +02:00
csrf_protection_controller.js Updated stimulus recipe 2025-11-30 15:07:59 +01:00
docker_update_progress_controller.js Add Docker update support via Watchtower integration (#1330) 2026-05-03 23:00:31 +02:00
field_mapping_controller.js Refactor bulk info provider: replace complex arrays with DTOs 2025-09-19 16:28:40 +02:00
toggle_password_controller.js Removed the deprecated symfony/ux-toggle-password package by replacing it by our own local versions 2025-08-30 21:57:57 +02:00
update_confirm_controller.js Fix update confirmation dialog not blocking form submission 2026-01-30 23:24:48 +01:00