Skip to content

fix: restart service after a failed volume backup with "Turn Off Container" enabled#4587

Open
ravindu0823 wants to merge 1 commit into
Dokploy:canaryfrom
ravindu0823:fix/volume-backup-restart-on-failure
Open

fix: restart service after a failed volume backup with "Turn Off Container" enabled#4587
ravindu0823 wants to merge 1 commit into
Dokploy:canaryfrom
ravindu0823:fix/volume-backup-restart-on-failure

Conversation

@ravindu0823

Copy link
Copy Markdown

@-

…ainer" enabled

When "Turn Off Container During Backup" is enabled, the service is scaled
to 0 (or the container stopped) before the backup runs. If the backup
step then failed — e.g. Docker could not pull the ubuntu image used for
the tar — the script aborted via `set -e` before the start/scale-up step,
leaving the service offline indefinitely until a manual reload.

Run the backup in a standalone subshell with `set +e` in the parent,
capture its exit status, and always run the start step afterwards. The
job still reports failure (and fires notifications) once the service is
back up, and the S3 upload only runs on success.

The subshell is deliberately NOT the left side of `|| BACKUP_EXIT=$?`:
in that tested context bash disables the subshell's own `set -e`, which
would silently swallow a mid-backup failure and report success. A plain
subshell followed by `$?` keeps `set -e` active inside it.

Applies to both application and compose (stack and docker-compose)
volume backups via a shared guard.

Fixes Dokploy#4263

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ravindu0823 ravindu0823 requested a review from Siumauricio as a code owner June 9, 2026 08:33
@dosubot dosubot Bot added size:M This PR changes 30-99 lines, ignoring generated files. bug Something isn't working labels Jun 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant