one-click-apps/public/v4/apps/cloudflareddns.yml

94 lines
3.3 KiB
YAML

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