Part-DB-server/tests
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
..
API /api/part_lots: add user_barcode filter (#1280) 2026-03-07 19:31:47 +01:00
assets Added custom part status (#1053) 2025-10-27 21:58:16 +01:00
Command Enhance KiCad integration: API v2, batch EDA editing, field export control (#1241) 2026-03-01 22:10:13 +01:00
Controller Add custom KiCad autocomplete list settings (#1342) 2026-04-15 00:01:00 +02:00
DataTables/Filters Ran rector and made tests final 2026-02-14 23:32:43 +01:00
Doctrine Add SI-prefix-aware sorting column for parts tableFeature/si value sort (#1344) 2026-04-15 22:56:34 +02:00
Entity Show HTML files in the HTML sandbox if enabled 2026-02-24 22:40:23 +01:00
EnvVarProcessors Ran rector and made tests final 2026-02-14 23:32:43 +01:00
EventListener Ran rector and made tests final 2026-02-14 23:32:43 +01:00
EventSubscriber Ran rector and made tests final 2026-02-14 23:32:43 +01:00
Exceptions Ran rector and made tests final 2026-02-14 23:32:43 +01:00
Form/InfoProviderSystem Ran rector and made tests final 2026-02-14 23:32:43 +01:00
Helpers Ran rector and made tests final 2026-02-14 23:32:43 +01:00
Repository Ran rector and made tests final 2026-02-14 23:32:43 +01:00
Security Ran rector and made tests final 2026-02-14 23:32:43 +01:00
Serializer Correctly denormalize parent-child relationships in import, when only children not parent fields are given 2026-03-07 21:08:32 +01:00
Services Add Docker update support via Watchtower integration (#1330) 2026-05-03 23:00:31 +02:00
Settings Ran rector and made tests final 2026-02-14 23:32:43 +01:00
Twig Moved remaining twig extensions to new attributes system 2026-02-15 00:23:30 +01:00
Validator Ran rector and made tests final 2026-02-14 23:32:43 +01:00
.gitignore Initial commit 2019-02-23 16:49:38 +01:00
ApplicationAvailabilityFunctionalTest.php Add custom KiCad autocomplete list settings (#1342) 2026-04-15 00:01:00 +02:00
bootstrap.php Updated phpunit recipe 2025-07-13 16:53:41 +02:00
DatatablesAvailabilityTest.php Ran rector and made tests final 2026-02-14 23:32:43 +01:00
object-manager.php Fixed PHPstan issues 2023-08-28 22:39:29 +02:00
SettingsTestHelper.php Run rector 2025-07-14 00:26:40 +02:00
symfony-container.php Added declare strict types to all files 2023-06-11 18:59:07 +02:00