feat: #14 Add healthchecks to all services
This commit is contained in:
parent
4887120109
commit
e11acd178a
@ -194,6 +194,8 @@ The web UI login page can be disabled on for the local network in Settings > Web
|
|||||||
172.17.0.0/16
|
172.17.0.0/16
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Please enable `Bypass authentication for clients on localhost` as well to make qBittorrent's healthcheck work as well.
|
||||||
|
|
||||||
## Jellyfin
|
## Jellyfin
|
||||||
|
|
||||||
To enable [hardware transcoding](https://jellyfin.org/docs/general/administration/hardware-acceleration/),
|
To enable [hardware transcoding](https://jellyfin.org/docs/general/administration/hardware-acceleration/),
|
||||||
|
@ -10,6 +10,7 @@ services:
|
|||||||
- CLOUDFLARE_ZONE_API_TOKEN=${CLOUDFLARE_ZONE_API_TOKEN}
|
- CLOUDFLARE_ZONE_API_TOKEN=${CLOUDFLARE_ZONE_API_TOKEN}
|
||||||
- LETS_ENCRYPT_EMAIL=${LETS_ENCRYPT_EMAIL}
|
- LETS_ENCRYPT_EMAIL=${LETS_ENCRYPT_EMAIL}
|
||||||
command:
|
command:
|
||||||
|
- --ping=true
|
||||||
- --providers.docker=true
|
- --providers.docker=true
|
||||||
- --providers.docker.exposedbydefault=false
|
- --providers.docker.exposedbydefault=false
|
||||||
- --entrypoints.web.address=:80
|
- --entrypoints.web.address=:80
|
||||||
@ -33,6 +34,10 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ./letsencrypt:/letsencrypt
|
- ./letsencrypt:/letsencrypt
|
||||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||||
|
healthcheck:
|
||||||
|
test: [ "CMD", "traefik", "healthcheck", "--ping" ]
|
||||||
|
interval: 5s
|
||||||
|
retries: 10
|
||||||
sonarr:
|
sonarr:
|
||||||
image: lscr.io/linuxserver/sonarr
|
image: lscr.io/linuxserver/sonarr
|
||||||
container_name: sonarr
|
container_name: sonarr
|
||||||
@ -44,6 +49,10 @@ services:
|
|||||||
- ./sonarr:/config
|
- ./sonarr:/config
|
||||||
- ${DATA_ROOT}:/data
|
- ${DATA_ROOT}:/data
|
||||||
restart: always
|
restart: always
|
||||||
|
healthcheck:
|
||||||
|
test: [ "CMD", "curl", "--fail", "http://127.0.0.1:8989/sonarr/ping" ]
|
||||||
|
interval: 5s
|
||||||
|
retries: 10
|
||||||
labels:
|
labels:
|
||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
- traefik.http.routers.sonarr.rule=(Host(`${HOSTNAME}`) && PathPrefix(`/sonarr`))
|
- traefik.http.routers.sonarr.rule=(Host(`${HOSTNAME}`) && PathPrefix(`/sonarr`))
|
||||||
@ -70,6 +79,10 @@ services:
|
|||||||
- ./radarr:/config
|
- ./radarr:/config
|
||||||
- ${DATA_ROOT}:/data
|
- ${DATA_ROOT}:/data
|
||||||
restart: always
|
restart: always
|
||||||
|
healthcheck:
|
||||||
|
test: [ "CMD", "curl", "--fail", "http://127.0.0.1:7878/radarr/ping" ]
|
||||||
|
interval: 5s
|
||||||
|
retries: 10
|
||||||
labels:
|
labels:
|
||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
- traefik.http.routers.radarr.rule=(Host(`${HOSTNAME}`) && PathPrefix(`/radarr`))
|
- traefik.http.routers.radarr.rule=(Host(`${HOSTNAME}`) && PathPrefix(`/radarr`))
|
||||||
@ -96,6 +109,10 @@ services:
|
|||||||
- ./lidarr:/config
|
- ./lidarr:/config
|
||||||
- ${DATA_ROOT}:/data
|
- ${DATA_ROOT}:/data
|
||||||
restart: always
|
restart: always
|
||||||
|
healthcheck:
|
||||||
|
test: [ "CMD", "curl", "--fail", "http://127.0.0.1:8686/lidarr/ping" ]
|
||||||
|
interval: 5s
|
||||||
|
retries: 10
|
||||||
labels:
|
labels:
|
||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
- traefik.http.routers.lidarr.rule=(Host(`${HOSTNAME}`) && PathPrefix(`/lidarr`))
|
- traefik.http.routers.lidarr.rule=(Host(`${HOSTNAME}`) && PathPrefix(`/lidarr`))
|
||||||
@ -120,6 +137,10 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ./jellyseerr:/app/config
|
- ./jellyseerr:/app/config
|
||||||
restart: always
|
restart: always
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "wget", "http://127.0.0.1:5055/api/v1/status", "-qO", "/dev/null"]
|
||||||
|
interval: 5s
|
||||||
|
retries: 10
|
||||||
labels:
|
labels:
|
||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
- traefik.http.routers.jellyseerr.rule=(Host(`${HOSTNAME}`) && PathPrefix(`/jellyseerr`))
|
- traefik.http.routers.jellyseerr.rule=(Host(`${HOSTNAME}`) && PathPrefix(`/jellyseerr`))
|
||||||
@ -186,6 +207,10 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ./prowlarr:/config
|
- ./prowlarr:/config
|
||||||
restart: always
|
restart: always
|
||||||
|
healthcheck:
|
||||||
|
test: [ "CMD", "curl", "--fail", "http://127.0.0.1:9696/prowlarr/ping" ]
|
||||||
|
interval: 5s
|
||||||
|
retries: 10
|
||||||
labels:
|
labels:
|
||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
- traefik.http.routers.prowlarr.rule=(Host(`${HOSTNAME}`) && PathPrefix(`/prowlarr`))
|
- traefik.http.routers.prowlarr.rule=(Host(`${HOSTNAME}`) && PathPrefix(`/prowlarr`))
|
||||||
@ -213,6 +238,10 @@ services:
|
|||||||
- ./qbittorrent:/config
|
- ./qbittorrent:/config
|
||||||
- ${DOWNLOAD_ROOT}:/data/torrents
|
- ${DOWNLOAD_ROOT}:/data/torrents
|
||||||
restart: always
|
restart: always
|
||||||
|
healthcheck:
|
||||||
|
test: [ "CMD", "curl", "--fail", "http://127.0.0.1:8080/api/v2/app/version" ]
|
||||||
|
interval: 5s
|
||||||
|
retries: 10
|
||||||
network_mode: "service:vpn"
|
network_mode: "service:vpn"
|
||||||
depends_on:
|
depends_on:
|
||||||
vpn:
|
vpn:
|
||||||
@ -291,6 +320,10 @@ services:
|
|||||||
- /dev/dri/renderD128:/dev/dri/renderD128
|
- /dev/dri/renderD128:/dev/dri/renderD128
|
||||||
- /dev/dri/card0:/dev/dri/card0
|
- /dev/dri/card0:/dev/dri/card0
|
||||||
restart: always
|
restart: always
|
||||||
|
healthcheck:
|
||||||
|
test: [ "CMD", "curl", "--fail", "http://127.0.0.1:8096/jellyfin/health" ]
|
||||||
|
interval: 5s
|
||||||
|
retries: 10
|
||||||
labels:
|
labels:
|
||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
- traefik.http.routers.jellyfin.rule=(Host(`${HOSTNAME}`) && PathPrefix(`/jellyfin`))
|
- traefik.http.routers.jellyfin.rule=(Host(`${HOSTNAME}`) && PathPrefix(`/jellyfin`))
|
||||||
|
Loading…
Reference in New Issue
Block a user