Files
cloudflare-domain-manager/docs/Home.md
T
Denozordec 6a1498bf80
Build, Test, and Push CFDM Docker Image / test (push) Successful in 4m0s
Build, Test, and Push CFDM Docker Image / build-and-push (push) Successful in 2m13s
Build, Test, and Push CFDM Docker Image / update-wiki (push) Failing after 6s
Build, Test, and Push CFDM Docker Image / create-release (push) Has been skipped
feat: Implement load balancing and health check features for service groups, including DNS-based load balancing modes and health check configurations, enhancing service reliability and performance monitoring
2026-06-25 18:24:00 +07:00

2.3 KiB
Raw Blame History

Cloudflare Domain Manager

Wiki home — synced from repository on main when this file changes.

Overview

Manage Cloudflare zones, DNS records, domain groups, and TLS certificate expiry from a single UI.

Configuration

Variable Description
CLOUDFLARE_API_TOKEN API token with Zone.DNS permissions
DATABASE_URL SQLite path (sqlite:/data/app.db)
JWT_SECRET JWT signing secret
ADMIN_USERNAME Admin username
ADMIN_PASSWORD_HASH Argon2 hash (empty = dev admin/admin)
LOG_LEVEL Уровень логов API (info, debug)
HEALTH_CHECK_CRON Cron для health-check (default */30 * * * * *)
HEALTH_DEGRADED_FAILURES Ошибок подряд до degraded (default 1)
HEALTH_DOWN_FAILURES Ошибок подряд до down (default 2)
HEALTH_LATENCY_WARN_MS Латентность-порог для degraded (default 1000)

Load balancing & health checks

Группа сервисов может иметь общий домен (service_groups.domain). Балансировка и health-check работают на двух уровнях:

  • Общий домен группы — A-записи формируются из IP сервисов группы; режим LB и параметры health-check настраиваются в карточке группы.
  • Привязка сервиса с multi-A — режим LB и health-check настраиваются в карточке сервиса для каждой привязки с несколькими IP; для IP задаются вес/приоритет.

Режимы LB: round_robin, failover, weighted. В Cloudflare free weighted работает как round_robin (одна A на IP), веса хранятся в БД для будущих расширений и отображения в UI. Reconcile DNS запускается cron-задачей health-check при смене статуса IP (up / degraded / down / unknown); down-IP убирается из A-записей.

Docker

docker pull git.shts.su/denozord/cloudflare-domain-manager:latest
docker run -d -p 8080:8080 -v cfdm-data:/data \
  -e CLOUDFLARE_API_TOKEN=... \
  -e JWT_SECRET=... \
  git.shts.su/denozord/cloudflare-domain-manager:latest