94 lines
3.3 KiB
YAML
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
|