diff --git a/compose/cloudflare-ddns/.env.example b/compose/cloudflare-ddns/.env.example new file mode 100644 index 0000000..3d6c542 --- /dev/null +++ b/compose/cloudflare-ddns/.env.example @@ -0,0 +1,6 @@ +UID="1000" +GID="1000" +CLOUDFLARE_API_TOKEN="CLOUDFLARE_API_KEY_HERE" +DOMAINS="domain1.com,domain2.net" # Comma saperated domains to update the IP +PROXIED="false" # Enables Cloudflare proxying +IP6_PROVIDER="none" \ No newline at end of file diff --git a/compose/cloudflare-ddns/docker-compose.yml b/compose/cloudflare-ddns/docker-compose.yml new file mode 100644 index 0000000..56977c6 --- /dev/null +++ b/compose/cloudflare-ddns/docker-compose.yml @@ -0,0 +1,15 @@ +services: + cloudflare-ddns: + image: favonia/cloudflare-ddns:latest + container_name: cloudflare-ddns + network_mode: host # This bypasses network isolation and makes IPv6 easier (optional; see below) + restart: unless-stopped + user: "${UID:-1000}:${GID:-1000}" # Run the updater with specific user and group IDs (in that order). + read_only: true # Make the container filesystem read-only (optional but recommended) + cap_drop: [all] # Drop all Linux capabilities (optional but recommended) + security_opt: [no-new-privileges:true] # Another protection to restrict superuser privileges (optional but recommended) + environment: + CLOUDFLARE_API_TOKEN: "${CLOUDFLARE_API_TOKEN:?}" + DOMAINS: "${DOMAINS:?}" + PROXIED: "${PROXIED:-false}" + IP6_PROVIDER: "${IP6_PROVIDER:-none}" \ No newline at end of file