summaryrefslogtreecommitdiffhomepage
path: root/public/v4/apps/cloudflareddns.yml
blob: d7aa47afa10635cb01e43c0ad098c37828034d74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
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