diff --git a/public/v4/apps/cloudflareddns.yml b/public/v4/apps/cloudflareddns.yml new file mode 100644 index 0000000..d7aa47a --- /dev/null +++ b/public/v4/apps/cloudflareddns.yml @@ -0,0 +1,93 @@ +captainVersion: 4 +services: + $$cap_appname: + image: oznu/cloudflare-ddns:latest + environment: + API_KEY: $$cap_api_key + ZONE: $$cap_zone + SUBDOMAIN: $$cap_subdomain + PROXIED: $$cap_proxied + RRTYPE: $$cap_rrtype + DNS_SERVER: $$cap_dns_server + CRON: $$cap_cron + caproverExtra: + notExposeAsWebApp: 'true' +caproverOneClickApp: + variables: + - id: $$cap_api_key + label: Cloudflare API token + defaultValue: '' + description: Your CloudFlare scoped API token. See the Creating a Cloudflare API token upward. + validRegex: /.{1,}/ + - id: $$cap_zone + label: DNS zone + defaultValue: $$cap_root_domain + description: The DNS zone that DDNS updates should be applied to. Defaults to your CapRover root domain. + validRegex: /.{1,}/ + - id: $$cap_subdomain + label: Zone's subdomain + defaultValue: '*' + description: A subdomain of the ZONE to write DNS changes to. If this is not supplied the root zone will be used. Defaults to your CapRover apps subdomains. + - id: $$cap_proxied + label: Proxied? + defaultValue: 'false' + description: If you are using free ClourFlare tier, leave as false. Set to true to make traffic go through the CloudFlare CDN. + validRegex: /.{1,}/ + - id: $$cap_rrtype + label: Resource record type + defaultValue: 'A' + description: Set to AAAA to use set IPv6 records instead of IPv4 records. Defaults to A for IPv4 records. + validRegex: /.{1,}/ + - id: $$cap_dns_server + label: DNS server + defaultValue: '1.1.1.1' + description: Set to the IP address of the DNS server you would like to use. Defaults to 1.1.1.1 (CloudFlare DNS) otherwise. + validRegex: /.{1,}/ + - id: $$cap_cron + label: Cron + defaultValue: '*/5 * * * *' + description: Sets how often your container checks for IP changes. Defaults to every 5 minutes. You can read more about CRON configuration here https://en.wikipedia.org/wiki/Cron + validRegex: /.{1,}/ + instructions: + start: >- + This small Alpine Linux based Docker image will allow you to use the free CloudFlare DNS Service as a Dynamic DNS Provider (DDNS). + + Default values are tuned to work with CapRover. + + + + To create a CloudFlare API token for your DNS zone go to https://dash.cloudflare.com/profile/api-tokens and follow these steps: + + + + 1 - Click Create Token + + + + 2 - Provide the token a name, for example, cloudflare-ddns + + + + 3 - Grant the token the following permissions: + + Zone - Zone Settings - Read + + Zone - Zone - Read + + Zone - DNS - Edit + + + + 4 - Set the zone resources to: + + Include - All zones + + + + 5 - Complete the wizard and copy the generated token into the Cloudflare API token field + end: >- + Cloudflare DDNS has been successfully deployed. + displayName: CloudFlare DDNS + isOfficial: false + description: This small image will allow you to use the free CloudFlare DNS Service as a Dynamic DNS Provider (DDNS). + documentation: Taken from https://github.com/oznu/docker-cloudflare-ddns diff --git a/public/v4/logos/cloudflareddns.png b/public/v4/logos/cloudflareddns.png new file mode 100644 index 0000000..0745adc Binary files /dev/null and b/public/v4/logos/cloudflareddns.png differ