* 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>
* Initial plan
* Add COMPOSER_EXTRA_PACKAGES environment variable support for Docker containers
Co-authored-by: jbtronics <5410681+jbtronics@users.noreply.github.com>
* Add shellcheck disable comment for intentional word splitting
Co-authored-by: jbtronics <5410681+jbtronics@users.noreply.github.com>
* Add documentation for installing mailer packages in email.md
Co-authored-by: jbtronics <5410681+jbtronics@users.noreply.github.com>
* Add --no-dev flag to composer require to prevent dev packages installation
Co-authored-by: jbtronics <5410681+jbtronics@users.noreply.github.com>
* Use --no-install with require and run separate install command
Co-authored-by: jbtronics <5410681+jbtronics@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jbtronics <5410681+jbtronics@users.noreply.github.com>
* Initial plan
* Improve documentation clarity, fix typos, and update outdated information
Co-authored-by: jbtronics <5410681+jbtronics@users.noreply.github.com>
* Replace LCSC with Mouser in cloud providers list per d-buchmann's review
Co-authored-by: jbtronics <5410681+jbtronics@users.noreply.github.com>
* Remove outdated Mouser API issue notice
Removed outdated information about the Mouser API's current issues with datasheets and part specifications.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jbtronics <5410681+jbtronics@users.noreply.github.com>
Co-authored-by: Jan Böhmer <mail@jan-boehmer.de>