From a1b6e09e8a4c018c94177d6b98598fea90493e7f Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Fri, 28 May 2021 17:12:59 +0200 Subject: [PATCH] outposts: set restart-policy on docker container Signed-off-by: Jens Langhammer --- authentik/outposts/controllers/docker.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/authentik/outposts/controllers/docker.py b/authentik/outposts/controllers/docker.py index 7f1e6b74f..309db04e8 100644 --- a/authentik/outposts/controllers/docker.py +++ b/authentik/outposts/controllers/docker.py @@ -71,6 +71,7 @@ class DockerController(BaseController): }, "environment": self._get_env(), "labels": self._get_labels(), + "restart_policy": {"Name": "unless-stopped"}, } if settings.TEST: del container_args["ports"] @@ -93,14 +94,24 @@ class DockerController(BaseController): has=version, should=__version__, ) - container.kill() - container.remove(force=True) + self.down() return self.up() # Check that container values match our values if self._comp_env(container): self.logger.info("Container has outdated config, re-creating...") - container.kill() - container.remove(force=True) + self.down() + return self.up() + if ( + container.attrs.get("HostConfig", {}) + .get("RestartPolicy", {}) + .get("Name", "") + .lower() + != "unless-stopped" + ): + self.logger.info( + "Container has mis-matched restart policy, re-creating..." + ) + self.down() return self.up() # Check that container is healthy if (