From d25b699e27b41c9be197db05aae2aeea4d327a67 Mon Sep 17 00:00:00 2001 From: zenfyr Date: Sun, 11 Jan 2026 10:07:38 +0700 Subject: [PATCH] try different Health settings --- .../containers/systemd/copyparty/copyparty.container | 9 +++++---- beeper/etc/containers/systemd/dind/dind.container | 9 +++++---- .../systemd/mailserver/mailserver.container | 12 ++++++------ .../systemd/mastodon/mastodon-dfdb.container | 8 +++++--- .../systemd/mastodon/mastodon-sidekiq.container | 6 +++++- .../systemd/mastodon/mastodon-streaming.container | 6 +++++- .../systemd/mastodon/mastodon-web.container | 6 +++++- .../systemd/postgresql/postgresql.container | 9 +++++---- .../etc/containers/systemd/redlib/redlib.container | 9 ++++++--- .../systemd/sharkey/sharkey-dfdb.container | 5 +++++ 10 files changed, 52 insertions(+), 27 deletions(-) diff --git a/beeper/etc/containers/systemd/copyparty/copyparty.container b/beeper/etc/containers/systemd/copyparty/copyparty.container index 7ec62bc..da30d6f 100644 --- a/beeper/etc/containers/systemd/copyparty/copyparty.container +++ b/beeper/etc/containers/systemd/copyparty/copyparty.container @@ -6,14 +6,15 @@ Image=docker.io/copyparty/ac:latest ContainerName=copyparty Environment=LD_PRELOAD=/usr/lib/libmimalloc-secure.so Environment=PYTHONUNBUFFERED=1 -HealthCmd=wget --spider -q 127.0.0.1:3923/?reset=/._ -HealthInterval=1m -HealthTimeout=2s -HealthRetries=5 PublishPort=127.0.0.1:15084:3923 UserNS=keep-id:uid=1000,gid=1000 Volume=/var/containers/copyparty/config:/cfg:Z Volume=/mnt/ext/copyparty:/w:z +# Health +HealthCmd=wget --spider -q 127.0.0.1:3923/?reset=/._ +HealthOnFailure=kill +HealthStartPeriod=1m +Notify=healthy [Service] Restart=always diff --git a/beeper/etc/containers/systemd/dind/dind.container b/beeper/etc/containers/systemd/dind/dind.container index a7dabfb..4b30454 100644 --- a/beeper/etc/containers/systemd/dind/dind.container +++ b/beeper/etc/containers/systemd/dind/dind.container @@ -8,14 +8,15 @@ AutoUpdate=registry SecurityLabelDisable=true Unmask=ALL AddDevice=/dev/fuse -HealthCmd=podman info || exit 1 -HealthInterval=5s -HealthTimeout=3s -HealthRetries=5 User=podman Volume=/var/containers/dind/data:/home/podman/.local/share/containers:Z Volume=/var/run/dind:/var/run/1000:z Exec=sh -c "podman system service --time=0 unix:///var/run/1000/docker.sock & PID=$!; while [ ! -S /var/run/1000/docker.sock ]; do sleep 0.1; kill -0 $PID 2>/dev/null || exit 1; done && chmod 0666 /var/run/1000/docker.sock && wait $PID" +# Health +HealthCmd=podman info || exit 1 +HealthOnFailure=kill +HealthStartPeriod=30s +Notify=healthy [Service] Restart=always diff --git a/beeper/etc/containers/systemd/mailserver/mailserver.container b/beeper/etc/containers/systemd/mailserver/mailserver.container index 486d8c0..dd2258a 100644 --- a/beeper/etc/containers/systemd/mailserver/mailserver.container +++ b/beeper/etc/containers/systemd/mailserver/mailserver.container @@ -7,10 +7,6 @@ ContainerName=mailserver EnvironmentFile=/etc/containers/systemd/mailserver/.env.secrets EnvironmentFile=/etc/containers/systemd/mailserver/.env AddCapability=NET_ADMIN -HealthCmd=ss --listening --tcp | grep -P 'LISTEN.+:smtp' || exit 1 -HealthInterval=10s -HealthTimeout=3s -HealthRetries=0 HostName=mx1.synth.download PublishPort=25:25 PublishPort=143:143 @@ -23,10 +19,14 @@ Volume=/var/containers/mailserver/logs:/var/log/mail:Z Volume=/var/containers/mailserver/config:/tmp/docker-mailserver:Z Volume=/etc/certs/wildcard_.synth.download.crt:/etc/letsencrypt/live/synth.download/fullchain.pem:ro,z Volume=/etc/certs/wildcard_.synth.download.key:/etc/letsencrypt/live/synth.download/privkey.pem:ro,z +# Health +HealthCmd=ss --listening --tcp | grep -P 'LISTEN.+:smtp' || exit 1 +HealthOnFailure=kill +HealthStartPeriod=1m +Notify=healthy [Service] -Restart=always -RestartSec=10s +Restart=on-success [Install] WantedBy=default.target diff --git a/beeper/etc/containers/systemd/mastodon/mastodon-dfdb.container b/beeper/etc/containers/systemd/mastodon/mastodon-dfdb.container index c42aba7..6ed630a 100644 --- a/beeper/etc/containers/systemd/mastodon/mastodon-dfdb.container +++ b/beeper/etc/containers/systemd/mastodon/mastodon-dfdb.container @@ -10,11 +10,13 @@ Environment=DFLY_default_lua_flags=allow-undeclared-keys Environment=DFLY_dbfilename=dump.rdb Environment=DFLY_df_snapshot_format=false Environment=DFLY_dir=/data -HealthCmd=redis-cli ping -HealthInterval=5s -HealthRetries=20 Network=mastodon.network Volume=/var/containers/mastodon/dragonfly:/data:Z +# Health +HealthCmd=redis-cli ping +HealthOnFailure=kill +HealthStartPeriod=10s +Notify=healthy [Service] Restart=always diff --git a/beeper/etc/containers/systemd/mastodon/mastodon-sidekiq.container b/beeper/etc/containers/systemd/mastodon/mastodon-sidekiq.container index 09fcb4f..7326846 100644 --- a/beeper/etc/containers/systemd/mastodon/mastodon-sidekiq.container +++ b/beeper/etc/containers/systemd/mastodon/mastodon-sidekiq.container @@ -9,10 +9,14 @@ ContainerName=mastodon-sidekiq EnvironmentFile=/etc/containers/systemd/mastodon/.env.secrets EnvironmentFile=/etc/containers/systemd/mastodon/.env Exec=bundle exec sidekiq -HealthCmd=ps aux | grep '[s]idekiq 7' || false Network=mastodon.network Network=postgresql.network Volume=/var/containers/mastodon/public/system:/mastodon/public/system:z +# Health +HealthCmd=ps aux | grep '[s]idekiq\ 8' || false +HealthOnFailure=kill +HealthStartPeriod=1m +Notify=healthy [Service] Restart=always diff --git a/beeper/etc/containers/systemd/mastodon/mastodon-streaming.container b/beeper/etc/containers/systemd/mastodon/mastodon-streaming.container index 50a9b95..177c7ea 100644 --- a/beeper/etc/containers/systemd/mastodon/mastodon-streaming.container +++ b/beeper/etc/containers/systemd/mastodon/mastodon-streaming.container @@ -9,10 +9,14 @@ ContainerName=mastodon-streaming EnvironmentFile=/etc/containers/systemd/mastodon/.env.secrets EnvironmentFile=/etc/containers/systemd/mastodon/.env Exec=node ./streaming/index.js -HealthCmd=curl -s --noproxy localhost localhost:4000/api/v1/streaming/health | grep -q 'OK' || exit 1 Network=mastodon.network Network=postgresql.network PublishPort=127.0.0.1:58834:4000 +# Health +HealthCmd=curl -s --noproxy localhost localhost:4000/api/v1/streaming/health | grep -q 'OK' || exit 1 +HealthOnFailure=kill +HealthStartPeriod=1m +Notify=healthy [Service] Restart=always diff --git a/beeper/etc/containers/systemd/mastodon/mastodon-web.container b/beeper/etc/containers/systemd/mastodon/mastodon-web.container index a77598b..10c6167 100644 --- a/beeper/etc/containers/systemd/mastodon/mastodon-web.container +++ b/beeper/etc/containers/systemd/mastodon/mastodon-web.container @@ -9,13 +9,17 @@ ContainerName=mastodon-web EnvironmentFile=/etc/containers/systemd/mastodon/.env.secrets EnvironmentFile=/etc/containers/systemd/mastodon/.env Exec=bundle exec puma -C config/puma.rb -HealthCmd=curl -s --noproxy localhost localhost:3000/health | grep -q 'OK' || exit 1 Network=mastodon.network Network=postgresql.network PublishPort=127.0.0.1:46098:3000 Volume=/var/containers/mastodon/public/system:/mastodon/public/system:z Volume=/var/containers/mastodon/init/disable_ssl.rb:/mastodon/config/initializers/disable_ssl.rb:ro,z Volume=/var/containers/mastodon/shared:/shared:z +# Health +HealthCmd=curl -s --noproxy localhost localhost:3000/health | grep -q 'OK' || exit 1 +HealthOnFailure=kill +HealthStartPeriod=1m +Notify=healthy [Service] Restart=always diff --git a/beeper/etc/containers/systemd/postgresql/postgresql.container b/beeper/etc/containers/systemd/postgresql/postgresql.container index c255a54..1675e39 100644 --- a/beeper/etc/containers/systemd/postgresql/postgresql.container +++ b/beeper/etc/containers/systemd/postgresql/postgresql.container @@ -6,13 +6,14 @@ Image=docker.io/groonga/pgroonga:latest-alpine-18 ContainerName=postgresql EnvironmentFile=/etc/containers/systemd/postgresql/.env Network=postgresql.network -HealthCmd=pg_isready -U postgres -d postgres -HealthInterval=40s -HealthTimeout=3s -HealthRetries=20 UserNS=keep-id:uid=999,gid=999 Volume=/var/containers/postgresql/data:/var/lib/postgresql/data:Z Volume=/var/containers/postgresql/exp:/mnt/exp:Z +# Health +HealthCmd=pg_isready -U postgres -d postgres +HealthOnFailure=kill +HealthStartPeriod=30s +Notify=healthy [Service] Restart=always diff --git a/beeper/etc/containers/systemd/redlib/redlib.container b/beeper/etc/containers/systemd/redlib/redlib.container index 74e37c0..225e33c 100644 --- a/beeper/etc/containers/systemd/redlib/redlib.container +++ b/beeper/etc/containers/systemd/redlib/redlib.container @@ -6,10 +6,13 @@ Image=quay.io/redlib/redlib:latest ContainerName=redlib AutoUpdate=registry EnvironmentFile=/etc/containers/systemd/redlib/.env -HealthCmd=wget --spider -q --tries=1 http://localhost:8080/settings -HealthInterval=5m -HealthTimeout=3s PublishPort=127.0.0.1:51617:8080 +# Health +HealthCmd=wget --spider -q --tries=1 http://localhost:8080/settings +HealthOnFailure=kill +HealthInterval=5m +HealthStartPeriod=30s +Notify=healthy [Service] Restart=always diff --git a/beeper/etc/containers/systemd/sharkey/sharkey-dfdb.container b/beeper/etc/containers/systemd/sharkey/sharkey-dfdb.container index 1103462..95a4127 100644 --- a/beeper/etc/containers/systemd/sharkey/sharkey-dfdb.container +++ b/beeper/etc/containers/systemd/sharkey/sharkey-dfdb.container @@ -12,6 +12,11 @@ Environment=DFLY_dir=/data Image=docker.dragonflydb.io/dragonflydb/dragonfly Network=sharkey.network Volume=/var/containers/sharkey/dfdb:/data:Z +# Health +HealthCmd=redis-cli ping +HealthOnFailure=kill +HealthStartPeriod=10s +Notify=healthy [Service] Restart=always