towards healthchecks for all containers
This commit is contained in:
@@ -55,6 +55,12 @@ services:
|
||||
- authentik-redis
|
||||
extra_hosts:
|
||||
- "host:${HOST_IP}"
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9000/-/health/live/"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 60s
|
||||
|
||||
authentik-worker:
|
||||
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2025.8.1}
|
||||
@@ -75,3 +81,9 @@ services:
|
||||
depends_on:
|
||||
- authentik-postgres
|
||||
- authentik-redis
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "ps aux | grep '[c]elery' || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
|
||||
@@ -6,3 +6,8 @@ services:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
environment:
|
||||
- AUTOHEAL_CONTAINER_LABEL=all
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pgrep -f autoheal || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
|
||||
@@ -13,3 +13,8 @@ services:
|
||||
- /opt/bazarr/config:/config
|
||||
- /media/neptune/Video/Movies:/movies
|
||||
- /media/neptune/Video/Shows:/tv
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:6767/ping"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -11,6 +11,11 @@ services:
|
||||
environment:
|
||||
USER_CREATION: true
|
||||
DISABLE_PASSWORD_AUTH: false
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--no-verbose", "--spider", "http://localhost:8090"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
beszel-agent:
|
||||
image: henrygd/beszel-agent:0.12.6
|
||||
@@ -26,3 +31,8 @@ services:
|
||||
HUB_URL: http://localhost:8090
|
||||
TOKEN: ${BESZEL_TOKEN:?}
|
||||
KEY: ${BESZEL_KEY:?}
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pidof beszel-agent || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
|
||||
@@ -25,3 +25,8 @@ services:
|
||||
- /opt/caddy/logs:/var/log
|
||||
extra_hosts:
|
||||
- "host:${HOST_IP}"
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--no-verbose", "--spider", "http://localhost:2019/metrics"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -17,3 +17,8 @@ services:
|
||||
- /dev/mapper:/dev/mapper
|
||||
extra_hosts:
|
||||
- "host:${HOST_IP}"
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pidof collectd || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
|
||||
@@ -18,3 +18,8 @@ services:
|
||||
- /opt/dns-ad-blocker/run:/etc/services.d/dnsmasq/run
|
||||
- /opt/dns-ad-blocker/var/log:/var/log
|
||||
- /opt/dns-ad-blocker/dnsmasq.hosts:/etc/dnsmasq.hosts
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:80"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -8,3 +8,8 @@ services:
|
||||
volumes:
|
||||
- /opt/droppy:/config
|
||||
- /media/scratch/droppy:/files
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--no-verbose", "--spider", "http://localhost:8989/"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
services:
|
||||
dsmr:
|
||||
image: xirixiz/dsmr-reader-docker:5.12.0-2026.01.02
|
||||
container_name: dsmr
|
||||
depends_on:
|
||||
- dsmrdb
|
||||
@@ -7,12 +8,19 @@ services:
|
||||
environment:
|
||||
- DSMRREADER_ADMIN_USER=${DSMRREADER_USER:?}
|
||||
- DSMRREADER_ADMIN_PASSWORD=${DSMRREADER_PASSWORD:?}
|
||||
image: xirixiz/dsmr-reader-docker:5.10.3-2023.04.02
|
||||
ports:
|
||||
- 8888:80
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /opt/dsmr/backups:/home/dsmr/app/backups
|
||||
healthcheck:
|
||||
# Checks if the dashboard login page loads successfully
|
||||
test: ["CMD-SHELL", "curl -f http://localhost:80 || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 60s
|
||||
|
||||
dsmrdb:
|
||||
container_name: dsmrdb
|
||||
environment:
|
||||
@@ -25,3 +33,8 @@ services:
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /opt/dsmr/data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
@@ -8,3 +8,8 @@ services:
|
||||
- /opt/esphome:/config:rw
|
||||
- /opt/esphome/log:/log:rw
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:6052"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -13,3 +13,8 @@ services:
|
||||
- /mnt/yotta/helium/shared:/host/media/Shared
|
||||
- /mnt/yotta/neon:/host/media/Other
|
||||
- /mnt/yotta/krypton:/host/media/Video
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--no-verbose", "--spider", "http://localhost:80/"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -21,3 +21,8 @@ services:
|
||||
- DATABASE_NAME=${FLUENTBIT_DATABASE_NAME}
|
||||
extra_hosts:
|
||||
- "host:${HOST_IP}"
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--no-verbose", "--spider", "http://localhost:2020/api/v1/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -27,3 +27,8 @@ services:
|
||||
ports:
|
||||
- "3003:3000"
|
||||
- "222:22"
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:3000/api/v1/version"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -2,12 +2,6 @@ services:
|
||||
grafana:
|
||||
container_name: grafana
|
||||
image: grafana/grafana:11.4.0
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "-qO-", "http://localhost:3000"]
|
||||
interval: 20s
|
||||
start_period: 30s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
ports:
|
||||
- 3333:3000
|
||||
restart: unless-stopped
|
||||
@@ -19,3 +13,9 @@ services:
|
||||
# - /opt/grafana/grafana.ini:/etc/grafana/grafana.ini
|
||||
extra_hosts:
|
||||
- "host:${HOST_IP}"
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "-qO-", "http://localhost:3000"]
|
||||
interval: 20s
|
||||
start_period: 30s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
|
||||
@@ -12,3 +12,9 @@ services:
|
||||
- /opt/homarr/configs:/app/data/configs
|
||||
- /opt/homarr/icons:/app/public/icons
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "wget --no-verbose --spider http://localhost:7575 || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 60s
|
||||
|
||||
@@ -10,3 +10,8 @@ services:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
extra_hosts:
|
||||
- "host:${HOST_IP}"
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8123"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -8,3 +8,8 @@ services:
|
||||
volumes:
|
||||
- /mnt/mezzo/scratch/influxdb:/var/lib/influxdb2
|
||||
- /opt/gw2pvo:/opt/gw2pvo
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8086/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -11,3 +11,8 @@ services:
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /opt/jackett:/config
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9117/UI/Dashboard"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -17,3 +17,8 @@ services:
|
||||
- /mnt/yotta/krypton/Movies:/host/srv/movies
|
||||
- /mnt/yotta/krypton/Shows:/host/srv/shows
|
||||
- /mnt/yotta/neon/Music/Albums:/host/srv/music
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8096/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -12,3 +12,8 @@ services:
|
||||
extra_hosts:
|
||||
- "sonarr:${HOST_IP}"
|
||||
- "radarr:${HOST_IP}"
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:5055/status"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -12,3 +12,8 @@ services:
|
||||
- /opt/loki/data:/loki
|
||||
extra_hosts:
|
||||
- "host:${HOST_IP}"
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--no-verbose", "--spider", "http://localhost:3100/ready"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -18,4 +18,10 @@ services:
|
||||
- /opt/mediamtx/mediamtx.yml:/mediamtx.yml:ro
|
||||
- /mnt/yotta/radon/mediamtx:/recordings
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9997/v3/paths/list"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
# vlc --network-caching=50 rtsp://192.168.2.200:8554/mystream
|
||||
|
||||
@@ -13,3 +13,8 @@ services:
|
||||
volumes:
|
||||
- /opt/minio:/data
|
||||
command: server /data --console-address ":9001"
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -12,3 +12,8 @@ services:
|
||||
- /opt/mosquitto/log:/mosquitto/log
|
||||
extra_hosts:
|
||||
- "host:${HOST_IP}"
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "mosquitto_sub -t '$SYS/#' -C 1 -i healthcheck || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
services:
|
||||
openvpn-server:
|
||||
image: kylemanna/openvpn:2.4
|
||||
container_name: openvpn-server
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
container_name: openvpn-server
|
||||
extra_hosts:
|
||||
- "host:${HOST_IP}"
|
||||
image: kylemanna/openvpn:2.4
|
||||
ports:
|
||||
- 444:443
|
||||
privileged: true
|
||||
@@ -13,3 +13,8 @@ services:
|
||||
volumes:
|
||||
- /opt/openvpn-server:/etc/openvpn
|
||||
- /opt/openvpn-server/logrotate.d/openvpn:/etc/logrotate.d/openvpn
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "ip link show tun0 || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
|
||||
@@ -11,3 +11,8 @@ services:
|
||||
volumes:
|
||||
- /opt/pgadmin/var:/var/lib/pgadmin
|
||||
- /opt/pgadmin/log:/var/log/pgadmin
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--no-verbose", "--spider", "http://localhost/misc/ping"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -53,3 +53,8 @@ services:
|
||||
2023
|
||||
- /mnt/yotta/helium/shared/Photographs/Vakantie/Bram + Rik/Athene 2023:/photoprism/originals/Vakantie/Bram
|
||||
+ Rik/Athene 2023
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--no-verbose", "--spider", "http://localhost:2342/api/v1/status"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -11,3 +11,8 @@ services:
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /opt/postgis:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
@@ -16,8 +16,12 @@ services:
|
||||
- /opt/postgres/cert.pem:/cert.pem
|
||||
- /opt/postgres/key.pem:/key.pem
|
||||
entrypoint: ["/bin/bash", "/entrypoint.sh"]
|
||||
|
||||
command:
|
||||
- postgres
|
||||
- -c
|
||||
- config_file=/etc/postgresql/postgresql.conf
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
@@ -19,3 +19,8 @@ services:
|
||||
- "radarr:${HOST_IP}"
|
||||
- "sonarr:${HOST_IP}"
|
||||
- "lidarr:${HOST_IP}"
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9696/ping"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -14,3 +14,8 @@ services:
|
||||
volumes:
|
||||
- /opt/qbittorrent:/config
|
||||
- /media/scratch/qbittorrent:/downloads/qbittorrent
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8080/"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -19,3 +19,8 @@ services:
|
||||
- /media/scratch/transmission:/downloads/transmission
|
||||
- /media/scratch/qbittorrent:/downloads/qbittorrent
|
||||
- /mnt/yotta/krypton/Movies:/movies
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:7878/ping"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -18,3 +18,8 @@ services:
|
||||
- /mnt/yotta/neon/Books/Epub:/books
|
||||
- /media/scratch/transmission:/downloads/transmission
|
||||
- /media/scratch/qbittorrent:/downloads/qbittorrent
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8787/ping"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -9,3 +9,8 @@ services:
|
||||
- /opt/rsnapshot:/config
|
||||
- /mnt/yotta/xenon/rsnapshot:/host/scratch
|
||||
- /root/.ssh:/root/.ssh:ro
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "ps aux | grep '[c]ron' || exit 1"]
|
||||
interval: 60s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
services:
|
||||
socks:
|
||||
container_name: socks
|
||||
image: serjs/go-socks5-proxy
|
||||
image: serjs/go-socks5-proxy:v0.0.4
|
||||
ports:
|
||||
- 1081:1080
|
||||
network_mode: service:surfshark
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "nc -z localhost 1080 || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
|
||||
@@ -19,3 +19,8 @@ services:
|
||||
- /media/scratch/transmission:/downloads/transmission
|
||||
- /media/scratch/qbittorrent:/downloads/qbittorrent
|
||||
- /mnt/yotta/krypton/Shows:/tv
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8989/ping"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
services:
|
||||
surfshark:
|
||||
image: ilteoood/docker-surfshark:1.7.2
|
||||
container_name: surfshark
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
container_name: surfshark
|
||||
devices:
|
||||
- /dev/net/tun
|
||||
dns:
|
||||
@@ -15,7 +16,6 @@ services:
|
||||
- CONNECTION_TYPE=udp
|
||||
- LAN_NETWORK=
|
||||
- ENABLE_SOCKS_SERVER=true
|
||||
image: ilteoood/docker-surfshark:1.7.2
|
||||
ports:
|
||||
- 1080:1080
|
||||
- 9091:9091
|
||||
@@ -23,3 +23,9 @@ services:
|
||||
- 6881:6881
|
||||
- 6881:6881/udp
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "curl -f -s https://www.google.com > /dev/null || exit 1"]
|
||||
interval: 60s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
|
||||
@@ -16,3 +16,8 @@ services:
|
||||
- "host:${HOST_IP}"
|
||||
volumes:
|
||||
- /opt/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pidof telegraf || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
|
||||
@@ -22,6 +22,11 @@ services:
|
||||
- /opt/teslamate/import:/opt/app/import
|
||||
cap_drop:
|
||||
- all
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:4000"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
teslamate-grafana:
|
||||
image: teslamate/grafana:2.1.0
|
||||
@@ -43,3 +48,8 @@ services:
|
||||
- /opt/teslamate/grafana:/var/lib/grafana
|
||||
- /opt/teslamate/achievements/dashboard.yml:/etc/grafana/provisioning/dashboards/dashboard.yml
|
||||
- /opt/teslamate/achievements/dashboards:/TeslaMateAchievements
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:3000/api/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -10,3 +10,8 @@ services:
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /mnt/mezzo/scratch/timescaledb:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
@@ -14,3 +14,8 @@ services:
|
||||
- /opt/transmission:/config
|
||||
- /media/scratch/torrents:/watch
|
||||
- /media/scratch/transmission:/downloads/transmission
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9091/transmission/web/"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -14,4 +14,3 @@ services:
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
|
||||
|
||||
Reference in New Issue
Block a user