From 41992c190b2854aaf995e68444478d9dd628d4f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20Mass=C3=A9?= Date: Wed, 10 Jun 2026 13:31:36 +0000 Subject: [PATCH] Add health checks --- cookbooks/base/config/examples/fastfetch.jsonc | 2 +- cookbooks/samba/samba.container | 11 +++++++++++ cookbooks/samba/tmpfiles.d/samba.conf | 1 - cookbooks/seedbox/cross-seed.container | 7 +++++++ cookbooks/seedbox/flaresolverr.container | 7 +++++++ cookbooks/seedbox/jellyfin.container | 7 +++++++ cookbooks/seedbox/lidarr.container | 7 +++++++ cookbooks/seedbox/prowlarr.container | 7 +++++++ cookbooks/seedbox/qbittorrent.container | 9 ++++++++- cookbooks/seedbox/radarr.container | 7 +++++++ cookbooks/seedbox/sonarr.container | 8 +++++++- cookbooks/seedbox/tmpfiles.d/seedbox.conf | 5 +++++ 12 files changed, 74 insertions(+), 4 deletions(-) diff --git a/cookbooks/base/config/examples/fastfetch.jsonc b/cookbooks/base/config/examples/fastfetch.jsonc index 07cbfdc..4afff80 100644 --- a/cookbooks/base/config/examples/fastfetch.jsonc +++ b/cookbooks/base/config/examples/fastfetch.jsonc @@ -80,7 +80,7 @@ "type": "disk", "format": "{size-percentage-bar} {size-percentage>4}", "key": "Vol. {mountpoint}", - "folders": "/var:/var/lib/virtiofs/data", + "folders": "/var:/var/lib/virtiofs/data:/var/lib/virtiofs/ssd:/var/lib/virtiofs/hdd", "percent": { "green": 75, "yellow": 90 diff --git a/cookbooks/samba/samba.container b/cookbooks/samba/samba.container index 8c2df1a..4e8f3dd 100644 --- a/cookbooks/samba/samba.container +++ b/cookbooks/samba/samba.container @@ -34,5 +34,16 @@ Network=host # Samba debug level Exec=--debuglevel=1 +# Health check +HealthCmd=smbclient -t 3 -N -L //127.0.0.1 +HealthInterval=30s +HealthTimeout=10s +HealthStartPeriod=30s +HealthRetries=3 + +[Service] +# The /etc/shadow file cannot be copied by systemd-tmpfiles (because of SELinux) so we need to copy it before starting the container +ExecStartPre=/bin/cp /etc/shadow /run/quadlets/samba/shadow + [Install] WantedBy=samba.target diff --git a/cookbooks/samba/tmpfiles.d/samba.conf b/cookbooks/samba/tmpfiles.d/samba.conf index ee22792..52cce58 100644 --- a/cookbooks/samba/tmpfiles.d/samba.conf +++ b/cookbooks/samba/tmpfiles.d/samba.conf @@ -5,4 +5,3 @@ d$ /var/lib/virtiofs/data/storage 0755 0 0 - d$ /run/quadlets/samba 0700 0 0 - C$ /run/quadlets/samba/passwd - - - - /etc/passwd C$ /run/quadlets/samba/group - - - - /etc/group -C$ /run/quadlets/samba/shadow - - - - /etc/shadow \ No newline at end of file diff --git a/cookbooks/seedbox/cross-seed.container b/cookbooks/seedbox/cross-seed.container index 0652bf9..3bef833 100644 --- a/cookbooks/seedbox/cross-seed.container +++ b/cookbooks/seedbox/cross-seed.container @@ -29,5 +29,12 @@ Network=host Environment=TZ=Etc/UTC HOME=/config Exec=daemon +# Health check +HealthCmd=curl -f http://127.0.0.1:2468/api/ping +HealthInterval=30s +HealthTimeout=10s +HealthStartPeriod=10s +HealthRetries=3 + [Install] WantedBy=seedbox.target diff --git a/cookbooks/seedbox/flaresolverr.container b/cookbooks/seedbox/flaresolverr.container index dfbe48a..39dfe9e 100644 --- a/cookbooks/seedbox/flaresolverr.container +++ b/cookbooks/seedbox/flaresolverr.container @@ -23,5 +23,12 @@ Network=host # Configuration Environment=LOG_LEVEL=debug TZ=Europe/Paris HOST=127.0.0.1 PROMETHEUS_ENABLED=true PROMETHEUS_PORT=8192 LANG=fr_FR +# Health check +HealthCmd=curl -f http://127.0.0.1:8191/ +HealthInterval=30s +HealthTimeout=10s +HealthStartPeriod=300s +HealthRetries=3 + [Install] WantedBy=seedbox.target diff --git a/cookbooks/seedbox/jellyfin.container b/cookbooks/seedbox/jellyfin.container index c4a7c85..63d72fb 100644 --- a/cookbooks/seedbox/jellyfin.container +++ b/cookbooks/seedbox/jellyfin.container @@ -30,5 +30,12 @@ Environment=PUID=10017 PGID=10000 JELLYFIN_DATA_DIR=/config/data JELLYFIN_CONFIG Entrypoint=/usr/bin/jellyfin Exec=--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg +# Health check +HealthCmd=curl -f http://127.0.0.1:8096/health +HealthInterval=30s +HealthTimeout=10s +HealthStartPeriod=30s +HealthRetries=3 + [Install] WantedBy=seedbox.target diff --git a/cookbooks/seedbox/lidarr.container b/cookbooks/seedbox/lidarr.container index d4adbcd..0dcc272 100644 --- a/cookbooks/seedbox/lidarr.container +++ b/cookbooks/seedbox/lidarr.container @@ -31,5 +31,12 @@ Entrypoint=/app/lidarr/bin/Lidarr Exec=-nobrowser -data=/config WorkingDir=/app/lidarr/bin +# Health check +HealthCmd=curl -f http://127.0.0.1:8686/ping +HealthInterval=30s +HealthTimeout=10s +HealthStartPeriod=30s +HealthRetries=3 + [Install] WantedBy=seedbox.target diff --git a/cookbooks/seedbox/prowlarr.container b/cookbooks/seedbox/prowlarr.container index 0c99ef8..a183456 100644 --- a/cookbooks/seedbox/prowlarr.container +++ b/cookbooks/seedbox/prowlarr.container @@ -31,5 +31,12 @@ Entrypoint=/app/prowlarr/bin/Prowlarr Exec=-nobrowser -data=/config WorkingDir=/app/prowlarr/bin +# Health check +HealthCmd=curl -f http://127.0.0.1:9696/ping +HealthInterval=30s +HealthTimeout=10s +HealthStartPeriod=30s +HealthRetries=3 + [Install] WantedBy=seedbox.target diff --git a/cookbooks/seedbox/qbittorrent.container b/cookbooks/seedbox/qbittorrent.container index 058150c..1c1bb2d 100644 --- a/cookbooks/seedbox/qbittorrent.container +++ b/cookbooks/seedbox/qbittorrent.container @@ -27,8 +27,15 @@ Network=host # Configuration Environment=PUID=10017 PGID=10000 TZ=Etc/UTC WEBUI_PORT=8080 -Entrypoint=/usr/bin/qbittorrent-nox +Entrypoint=/app/qbittorrent-nox Exec=--webui-port=8080 +# Health check +HealthCmd=curl -f http://127.0.0.1:8096/health +HealthInterval=30s +HealthTimeout=10s +HealthStartPeriod=30s +HealthRetries=3 + [Install] WantedBy=seedbox.target diff --git a/cookbooks/seedbox/radarr.container b/cookbooks/seedbox/radarr.container index 773b9fc..8310eb0 100644 --- a/cookbooks/seedbox/radarr.container +++ b/cookbooks/seedbox/radarr.container @@ -31,5 +31,12 @@ Entrypoint=/app/radarr/bin/Radarr Exec=-nobrowser -data=/config WorkingDir=/app/radarr/bin +# Health check +HealthCmd=curl -f http://127.0.0.1:7878/ping +HealthInterval=30s +HealthTimeout=10s +HealthStartPeriod=30s +HealthRetries=3 + [Install] WantedBy=seedbox.target diff --git a/cookbooks/seedbox/sonarr.container b/cookbooks/seedbox/sonarr.container index dd360df..cacef75 100644 --- a/cookbooks/seedbox/sonarr.container +++ b/cookbooks/seedbox/sonarr.container @@ -27,10 +27,16 @@ Network=host # Configuration Environment=PUID=10017 PGID=10000 TZ=Etc/UTC HOME=/config TMPDIR=/config/tmp - Entrypoint=/app/sonarr/bin/Sonarr Exec=-nobrowser -data=/config WorkingDir=/app/sonarr/bin +# Health check +HealthCmd=curl -f http://127.0.0.1:8989/ping +HealthInterval=30s +HealthTimeout=10s +HealthStartPeriod=30s +HealthRetries=3 + [Install] WantedBy=seedbox.target diff --git a/cookbooks/seedbox/tmpfiles.d/seedbox.conf b/cookbooks/seedbox/tmpfiles.d/seedbox.conf index 8cf1918..fd02da2 100644 --- a/cookbooks/seedbox/tmpfiles.d/seedbox.conf +++ b/cookbooks/seedbox/tmpfiles.d/seedbox.conf @@ -6,6 +6,7 @@ d$ /var/lib/virtiofs/hdd/storage/media/music 0775 10017 10000 - d$ /var/lib/virtiofs/hdd/storage/downloads 0775 10017 10000 - d$ /var/lib/virtiofs/hdd/storage/torrents 0775 10017 10000 - d$ /var/lib/virtiofs/hdd/storage/seed 0775 10017 10000 - +d$ /var/lib/virtiofs/hdd/storage/cross-seed 0775 10017 10000 - d$ /var/lib/virtiofs/hdd/storage/import 0775 10017 10000 - d$ /var/lib/virtiofs/ssd/radarr 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/radarr/config 0700 10017 10000 - @@ -15,6 +16,10 @@ d$ /var/lib/virtiofs/ssd/sonarr 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/sonarr/config 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/sonarr/config/tmp 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/sonarr/config/xdg 0700 10017 10000 - +d$ /var/lib/virtiofs/ssd/lidarr 0700 10017 10000 - +d$ /var/lib/virtiofs/ssd/lidarr/config 0700 10017 10000 - +d$ /var/lib/virtiofs/ssd/lidarr/config/tmp 0700 10017 10000 - +d$ /var/lib/virtiofs/ssd/lidarr/config/xdg 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/prowlarr 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/prowlarr/config 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/prowlarr/config/tmp 0700 10017 10000 -