feat: add host-side auto-updater for zero-touch API container rebuilds
When the in-container self-updater downloads a new version, it writes trigger.json. The new systemd path unit watches for this file and runs dashcaddy-update.sh, which backs up current API files, copies the new ones, rebuilds the container, verifies health, and writes result.json. Automatic rollback on build or health check failure. Also fixes undefined `isWindows` variable in self-updater.js and adds DASHCADDY_HOST_UPDATES_DIR env var to the installer's docker-compose template for correct container-to-host path translation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
12
dashcaddy-api/scripts/dashcaddy-updater.service
Normal file
12
dashcaddy-api/scripts/dashcaddy-updater.service
Normal file
@@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=DashCaddy auto-update handler
|
||||
After=docker.service
|
||||
Requires=docker.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/opt/dashcaddy/scripts/dashcaddy-update.sh
|
||||
TimeoutStartSec=300
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
SyslogIdentifier=dashcaddy-update
|
||||
Reference in New Issue
Block a user