diff --git a/apps/cfddns/config.json b/apps/cfddns/config.json new file mode 100644 index 0000000..1982371 --- /dev/null +++ b/apps/cfddns/config.json @@ -0,0 +1,65 @@ +{ + "$schema": "../app-info-schema.json", + "name": "Cloudflare DDNS", + "id": "cfddns", + "available": true, + "exposable": false, + "dynamic_config": true, + "no_gui": true, + "tipi_version": 7, + "version": "1.17.0", + "categories": [ + "network", + "utilities" + ], + "description": "Automatically update Cloudflare DNS records with your current public IP. Supports multiple domains, IPv4/IPv6, and proxy toggle.", + "short_desc": "Dynamic DNS updater for Cloudflare", + "author": "favonia", + "source": "https://github.com/favonia/cloudflare-ddns", + "form_fields": [ + { + "type": "password", + "label": "Cloudflare API Token", + "env_variable": "CLOUDFLARE_API_TOKEN", + "required": true, + "hint": "API token with DNS edit permissions" + }, + { + "type": "text", + "label": "Domains (comma-separated)", + "env_variable": "DOMAINS", + "required": true, + "hint": "e.g. home.example.com,vpn.example.com" + }, + { + "type": "boolean", + "label": "Proxied (Orange Cloud)", + "env_variable": "PROXIED", + "required": false, + "default": false + }, + { + "type": "text", + "label": "Update Schedule", + "env_variable": "UPDATE_CRON", + "required": false, + "default": "@every 5m", + "hint": "Cron expression or @every Xm" + }, + { + "type": "text", + "label": "Timezone", + "env_variable": "TZ", + "required": false, + "default": "UTC" + } + ], + "supported_architectures": [ + "arm64", + "amd64" + ], + "created_at": 1736974800000, + "updated_at": 1736974800000, + "deprecated": false, + "min_tipi_version": "4.5.0" +} diff --git a/apps/cfddns/docker-compose.json b/apps/cfddns/docker-compose.json new file mode 100644 index 0000000..b64b0e7 --- /dev/null +++ b/apps/cfddns/docker-compose.json @@ -0,0 +1,18 @@ +{ + "schemaVersion": 2, + "$schema": "https://schemas.runtipi.io/dynamic-compose.json", + "services": [ + { + "name": "cfddns", + "image": "favonia/cloudflare-ddns:1.17.0", + "isMain": true, + "environment": { + "CLOUDFLARE_API_TOKEN": "${CLOUDFLARE_API_TOKEN}", + "DOMAINS": "${DOMAINS}", + "PROXIED": "${PROXIED:-false}", + "UPDATE_CRON": "${UPDATE_CRON:-@every 5m}", + "TZ": "${TZ:-UTC}" + } + } + ] +}