Skip to content

[Fix] Custom Caddy overrides disappear during self-hosted upgrades - #1496

Draft
roomote-community[bot] wants to merge 2 commits into
developfrom
fix/upgrade-compose-overrides-2doq0boz0gm0n
Draft

[Fix] Custom Caddy overrides disappear during self-hosted upgrades#1496
roomote-community[bot] wants to merge 2 commits into
developfrom
fix/upgrade-compose-overrides-2doq0boz0gm0n

Conversation

@roomote-community

@roomote-community roomote-community Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

​Opened on behalf of @zarnivoop. Follow up by mentioning @roomote, in the web UI, or in Discord.

What changed

  • Load operator files such as /opt/roomote/docker-compose.caddy-dns.yml after the managed Compose file for every host CLI operation.
  • Route installer-managed startup and systemd lifecycle commands through the same override-aware host CLI.
  • Preserve the installer-detected Docker executable when systemd starts the host CLI, including nonstandard installations such as Snap.
  • Keep interrupted-backup cleanup state alive through shell exit so restart failures retain the original error instead of crashing on an unbound variable.
  • Cover failed upgrade pulls and failed backup restarts with shell regression tests.

Why this change was made

Self-hosted upgrades and pre-upgrade backups previously invoked only docker-compose.prod.yml. Custom DNS-01 Caddy overrides were therefore dropped during restart, exposing the managed Caddy bind mount and causing upgrades to fail; cleanup then masked that failure with a shell scope error.

Impact

Custom Caddy images, certificate configuration, mounts, and other operator Compose overrides remain active during backup, upgrade, restart, and systemd startup. Matching override files remain operator-owned and are not overwritten by upgrades, and systemd continues to use the Docker installation detected during setup.

The focused upgrade, backup restart, and nonstandard Docker path regressions, shell syntax, formatting, lint, type checks, and Knip passed. Deployment validation reached all Compose shape checks, but its Caddy adaptation step could not run because this sandbox exposes no Docker socket.

@roomote-community

roomote-community Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

No code issues found. See task

  • deploy/install.sh:630: Systemd no longer preserves the detected Docker binary path, so nonstandard Docker installations can fail after reboot.

Reviewed d46209e

@github-actions

github-actions Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA.
Posted by the CLA Assistant Lite bot.

Comment thread deploy/install.sh
@zarnivoop

Copy link
Copy Markdown
Contributor

I have read the CLA Document and I hereby sign the CLA

@roomote-community

roomote-community Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

Fixed in d46209e: the installer passes its detected Docker executable to the systemd-started host CLI, preserving nonstandard installations such as Snap. The focused Docker-path test and existing host upgrade/backup tests pass. See task.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant