{ "$schema": "../app-info-schema.json", "name": "Cloudflare DDNS", "id": "cfddns", "available": true, "port": 8533, "exposable": true, "dynamic_config": true, "no_gui": false, "tipi_version": 8, "version": "v1-ui1", "categories": [ "network", "utilities" ], "description": "Automatically updates Cloudflare DNS records with your current public IP. Manage domains, proxied state, schedule, API token, and view live status & logs from a built-in web UI. Fork of favonia/cloudflare-ddns with an added management binary.", "short_desc": "Dynamic DNS for Cloudflare, with web UI", "author": "alexz (fork of favonia/cloudflare-ddns)", "source": "https://git.alexzaw.dev/alexz/cloudflare-ddns", "website": "https://github.com/favonia/cloudflare-ddns", "form_fields": [ { "type": "text", "label": "Web UI Username", "env_variable": "CFDDNS_WEB_USER", "required": true, "default": "admin", "min": 3, "max": 50, "hint": "Username for HTTP basic auth on the management UI" }, { "type": "random", "label": "Web UI Password", "env_variable": "CFDDNS_WEB_PASSWORD", "required": true, "min": 24, "encoding": "hex", "hint": "Auto-generated 24-char hex password for the UI. View it in the app's Settings tab and copy it to your browser when prompted." }, { "type": "password", "label": "Cloudflare API Token", "env_variable": "CLOUDFLARE_API_TOKEN", "required": true, "hint": "API token with Zone:DNS:Edit permissions. After first start the UI manages this." }, { "type": "text", "label": "Initial Domains (comma-separated)", "env_variable": "DOMAINS", "required": false, "hint": "First-run seed only — managed by the web UI afterward. e.g. home.example.com,vpn.example.com" }, { "type": "boolean", "label": "Initial Proxied (Orange Cloud)", "env_variable": "PROXIED", "required": false, "default": false, "hint": "First-run seed only — proxy state is managed per-domain by the UI afterward" }, { "type": "text", "label": "Initial Update Schedule", "env_variable": "UPDATE_CRON", "required": false, "default": "@every 5m", "hint": "First-run seed only — managed by the UI afterward. Cron expression or @every Xm." }, { "type": "text", "label": "Initial Timezone", "env_variable": "TZ", "required": false, "default": "UTC", "hint": "First-run seed only — managed by the UI afterward" } ], "supported_architectures": [ "amd64" ], "created_at": 1736974800000, "updated_at": 1747555200000, "deprecated": false, "min_tipi_version": "4.5.0" }