mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-11-15 01:27:11 +00:00
31 lines
1.3 KiB
Django/Jinja
31 lines
1.3 KiB
Django/Jinja
{# ------------------------------------------------------------------------------
|
|
Healthcheck: HTTP Local
|
|
------------------------------------------------------------------------------
|
|
This template defines a generic HTTP healthcheck for containers exposing
|
|
a web service on a local port (e.g., Nginx, Apache, PHP-FPM, Shopware, etc.).
|
|
|
|
It uses `wget` or `curl` (as fallback) to test if the container responds on
|
|
http://127.0.0.1:{{ container_port }}/. If the request succeeds, Docker marks
|
|
the container as "healthy"; otherwise, as "unhealthy".
|
|
|
|
Parameters:
|
|
- container_port: The internal port the service listens on.
|
|
|
|
Timing:
|
|
- interval: 30s → Check every 30 seconds
|
|
- timeout: 5s → Each check must complete within 5 seconds
|
|
- retries: 5 → Mark unhealthy after 5 consecutive failures
|
|
- start_period: 20s → Grace period before health checks begin
|
|
|
|
Usage:
|
|
{% filter indent(4) %}
|
|
{% include 'roles/docker-container/templates/healthcheck/http.yml.j2' %}
|
|
{% endfilter %}
|
|
------------------------------------------------------------------------------
|
|
#}
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:{{ container_port }}/ >/dev/null || curl -fsS http://127.0.0.1:{{ container_port }}/ >/dev/null"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 20s |