#!/usr/bin/env bash set -uo pipefail source '{{ healthcheck_install_root }}/health-common.sh' require_command docker require_command dig # hbbs / hbbr must both be running (separate compose project at /opt/rustdesk). output="$(docker compose --project-directory /opt/rustdesk ps --all 2>&1)" if grep -qiE 'Exited|Restarting|[[:space:]]Dead[[:space:]]' <<<"$output"; then record critical 'rustdesk_unhealthy_container' else record ok 'rustdesk_compose_ok' fi # hbbs must advertise the relay hostname that resolves to this host's public IP. cmd="$(docker inspect hbbs --format '{{ '{{' }}json .Config.Cmd{{ '}}' }}' 2>/dev/null)" || record critical 'rustdesk_hbbs_missing' grep -q 'hk2.chans.xyz:21117' <<<"$cmd" || record critical 'rustdesk_relay_misconfigured' # The advertised relay hostname must resolve to this host's public IP. resolved="$(dig +short hk2.chans.xyz A 2>/dev/null)" grep -q '154.36.174.161' <<<"$resolved" || record critical 'rustdesk_relay_dns_missing' emit_result exit "$EXIT_CODE"