I got an home server that is running docker for all my self hosted apps. But sometimes I accidentally trigger Earlyoom by remotely starting expensive docker builds, which kill docker.
I don’t have access to my server outside of my home network, so I can’t manually restart docker in those situations.
What would be the best way to restart it automatically? I don’t mind doing a full system restart if needed
Apparently…
Don’t do this. Either don’t go OOM to begin with (somebody else told you how to limit container memory usage} and/or configure systemd to restart docker if it quits. I’m surprised systemd isn’t already.
Seems like the best solution. I’ll look into it
Over using a system tool designed to monitor and restart services that stop?
? I’m agreeing with you?
Sorry - was ambiguous and thought you were saying the “cron” thing sounded best.
It’s usually good to state why something is good or bad :)
It’s fairly obvious I feel.
You’re saying rather than use a system tool that does the exact thing that you want you should bodge together a cron job that accomplishes your goal but doesn’t actually do what you want.
Like say you want to stop the docker service for some reason?
systemctl stop docker
will do that. Then your cron job will restart it. That’s not the desired outcome. You want the service running IF the service SHOULD be running. Which is a different thing than “always running”. And its’ exactly what you get for free with systemd without any silly custom BS.