From 5b5d666c614a0d9f2ed19cb72394651b25407b5a Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Sat, 26 Sep 2020 14:11:30 -0400 Subject: [PATCH 1/2] Support custom timeout on docker stops --- plugins/dynamix.docker.manager/DockerSettings.page | 5 +++++ plugins/dynamix.docker.manager/default.cfg | 3 ++- plugins/dynamix.docker.manager/include/DockerClient.php | 6 +++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/plugins/dynamix.docker.manager/DockerSettings.page b/plugins/dynamix.docker.manager/DockerSettings.page index b823c10a1..bb94e937b 100644 --- a/plugins/dynamix.docker.manager/DockerSettings.page +++ b/plugins/dynamix.docker.manager/DockerSettings.page @@ -145,6 +145,11 @@ _(Enable Docker)_: :docker_enable_help: +_(Docker Stop Timeout)_: +: + +:docker_timeout_help: + _(Docker data-root)_: diff --git a/plugins/dynamix.docker.manager/default.cfg b/plugins/dynamix.docker.manager/default.cfg index 400b3a496..ab3d0ce12 100644 --- a/plugins/dynamix.docker.manager/default.cfg +++ b/plugins/dynamix.docker.manager/default.cfg @@ -5,4 +5,5 @@ DOCKER_LOG_SIZE="50m" DOCKER_LOG_FILES="1" DOCKER_AUTHORING_MODE="no" DOCKER_USER_NETWORKS="remove" -DOCKER_ALLOW_ACCESS="" \ No newline at end of file +DOCKER_ALLOW_ACCESS="" +DOCKER_TIMEOUT=10 \ No newline at end of file diff --git a/plugins/dynamix.docker.manager/include/DockerClient.php b/plugins/dynamix.docker.manager/include/DockerClient.php index b01b37e34..b000ea032 100644 --- a/plugins/dynamix.docker.manager/include/DockerClient.php +++ b/plugins/dynamix.docker.manager/include/DockerClient.php @@ -747,7 +747,11 @@ class DockerClient { return $code; } - public function stopContainer($id, $t=10) { + public function stopContainer($id, $t=false) { + global $dockercfg; + + if ( ! $t ) + $t = $dockercfg['DOCKER_TIMEOUT'] ?: 10; $this->getDockerJSON("/containers/$id/stop?t=$t", 'POST', $code); $this->flushCache($this::$containersCache); return $code; From 680a2cee2b764ec3518ab309d35e634109ca7fe5 Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Sat, 26 Sep 2020 14:46:35 -0400 Subject: [PATCH 2/2] Error checking --- plugins/dynamix.docker.manager/DockerSettings.page | 2 +- plugins/dynamix.docker.manager/include/DockerClient.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/dynamix.docker.manager/DockerSettings.page b/plugins/dynamix.docker.manager/DockerSettings.page index bb94e937b..0ccf75da3 100644 --- a/plugins/dynamix.docker.manager/DockerSettings.page +++ b/plugins/dynamix.docker.manager/DockerSettings.page @@ -146,7 +146,7 @@ _(Enable Docker)_: :docker_enable_help: _(Docker Stop Timeout)_: -: +: :docker_timeout_help: diff --git a/plugins/dynamix.docker.manager/include/DockerClient.php b/plugins/dynamix.docker.manager/include/DockerClient.php index b000ea032..7790a0e1f 100644 --- a/plugins/dynamix.docker.manager/include/DockerClient.php +++ b/plugins/dynamix.docker.manager/include/DockerClient.php @@ -749,9 +749,9 @@ class DockerClient { public function stopContainer($id, $t=false) { global $dockercfg; - + if ( ! $t ) - $t = $dockercfg['DOCKER_TIMEOUT'] ?: 10; + $t = intval($dockercfg['DOCKER_TIMEOUT']) ?: 10; $this->getDockerJSON("/containers/$id/stop?t=$t", 'POST', $code); $this->flushCache($this::$containersCache); return $code;