Files
runtipi/apps/cfddns/docker-compose.yml
alexz 57b71da781 cfddns: rebuild on private fork with management web UI
- Swap image from favonia/cloudflare-ddns:latest to
  git.alexzaw.dev/alexz/cloudflare-ddns:latest (private fork with
  cmd/manager binary that wraps the original ddns updater)
- Expose web UI on internal port 8080, traefik-routable
- Add CFDDNS_WEB_USER/CFDDNS_WEB_PASSWORD basic-auth form fields
- Repurpose existing DOMAINS/PROXIED/UPDATE_CRON/TZ as first-run seed
  for the YAML config that the UI manages thereafter
- Mount ${APP_DATA_DIR}/data:/config for persistent cfddns.yaml
- Healthcheck on /healthz via 127.0.0.1 (alpine wget)
- Bump tipi_version 7 -> 8 to trigger app update
2026-05-18 01:18:39 -07:00

27 lines
792 B
YAML

services:
cfddns:
image: 'git.alexzaw.dev/alexz/cloudflare-ddns:latest'
environment:
- 'CFDDNS_LISTEN=:8080'
- 'CFDDNS_CONFIG_FILE=/config/cfddns.yaml'
- 'CFDDNS_WEB_USER=${CFDDNS_WEB_USER}'
- 'CFDDNS_WEB_PASSWORD=${CFDDNS_WEB_PASSWORD}'
- 'CLOUDFLARE_API_TOKEN=${CLOUDFLARE_API_TOKEN}'
- 'DOMAINS=${DOMAINS:-}'
- 'PROXIED=${PROXIED:-false}'
- 'UPDATE_CRON=${UPDATE_CRON:-@every 5m}'
- 'TZ=${TZ:-UTC}'
volumes:
- '${APP_DATA_DIR}/data:/config'
healthcheck:
test: ['CMD-SHELL', 'wget --spider -q http://127.0.0.1:8080/healthz || exit 1']
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
x-runtipi:
is_main: true
internal_port: 8080
x-runtipi:
schema_version: 2