Skip to content

feat(ops): restart VM containers that are persistently unhealthy - #15

Open
Marinski wants to merge 1 commit into
psyb0t:masterfrom
Marinski:feat/vm-health-watchdog
Open

feat(ops): restart VM containers that are persistently unhealthy#15
Marinski wants to merge 1 commit into
psyb0t:masterfrom
Marinski:feat/vm-health-watchdog

Conversation

@Marinski

Copy link
Copy Markdown
Contributor

dockurr/windows keeps the container up while the Windows guest may have crashed internally, so restart: unless-stopped never fires and every terminal API in that VM stays dead until a human acts.

scripts/watchdog.sh is the host-side recovery: run from cron every few minutes, it discovers the VM containers by compose labels and docker restarts only the ones whose Docker health has stayed unhealthy for a sustained streak. Healthy or starting VMs are never touched, so running backtests are not interrupted; a cooldown prevents restart loops.

This complements the in-VM MT5AutoReboot task for operators who disable it to protect long backtests.

  • scripts/watchdog.sh — host-side VM health recovery loop
  • docs/operations.md — watchdog setup and operating notes

No configuration changes required. Ships a single optional cron line.

dockurr/windows keeps the container up while the Windows guest may have crashed internally, so restart: unless-stopped never fires and every terminal API in that VM stays dead until a human acts. watchdog.sh is the host-side recovery: run from cron every few minutes, it discovers the VM containers by compose labels, and docker restart only the ones whose Docker health has stayed unhealthy for a sustained streak. Healthy or starting VMs are never touched, so running backtests are not interrupted; a cooldown prevents restart loops. This complements the in-VM MT5AutoReboot task for operators who disable it to protect long backtests.
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