{"id":15646169,"url":"https://github.com/iarekylew00t/docker-caddy-cloudflare","last_synced_at":"2026-03-12T04:05:05.711Z","repository":{"id":68653778,"uuid":"588406639","full_name":"IAreKyleW00t/docker-caddy-cloudflare","owner":"IAreKyleW00t","description":"🐳 The Caddy Docker image built with the Cloudflare DNS module","archived":false,"fork":false,"pushed_at":"2026-03-01T04:48:06.000Z","size":327,"stargazers_count":107,"open_issues_count":0,"forks_count":15,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-01T07:34:20.993Z","etag":null,"topics":["acme","caddy","cloudflare","dns","dns-01","docker","docker-caddy"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/iarekylew00t/caddy-cloudflare","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IAreKyleW00t.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-01-13T03:17:10.000Z","updated_at":"2026-03-01T04:44:19.000Z","dependencies_parsed_at":"2023-12-14T23:31:08.001Z","dependency_job_id":"f691f0c9-c189-43c8-bb37-efbe1d09787d","html_url":"https://github.com/IAreKyleW00t/docker-caddy-cloudflare","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/IAreKyleW00t/docker-caddy-cloudflare","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IAreKyleW00t%2Fdocker-caddy-cloudflare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IAreKyleW00t%2Fdocker-caddy-cloudflare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IAreKyleW00t%2Fdocker-caddy-cloudflare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IAreKyleW00t%2Fdocker-caddy-cloudflare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IAreKyleW00t","download_url":"https://codeload.github.com/IAreKyleW00t/docker-caddy-cloudflare/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IAreKyleW00t%2Fdocker-caddy-cloudflare/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30415042,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T00:40:14.898Z","status":"online","status_checked_at":"2026-03-12T02:00:07.260Z","response_time":114,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["acme","caddy","cloudflare","dns","dns-01","docker","docker-caddy"],"created_at":"2024-10-03T12:11:40.426Z","updated_at":"2026-03-12T04:05:05.706Z","avatar_url":"https://github.com/IAreKyleW00t.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🐳 caddy-cloudflare\n\n[![DockerHub](https://img.shields.io/badge/DockerHub-iarekylew00t%2Fcaddy--cloudflare-blue?style=flat)](https://hub.docker.com/r/iarekylew00t/caddy-cloudflare)\n[![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/IAreKyleW00t/docker-caddy-cloudflare?label=Latest%20Version)](https://github.com/IAreKyleW00t/docker-caddy-cloudflare/tags)\n[![Docker Build \u0026 Release](https://github.com/IAreKyleW00t/docker-caddy-cloudflare/actions/workflows/docker.yml/badge.svg)](https://github.com/IAreKyleW00t/docker-caddy-cloudflare/actions/workflows/docker.yml)\n[![License](https://img.shields.io/github/license/IAreKyleW00t/docker-caddy-cloudflare)](https://github.com/IAreKyleW00t/docker-caddy-cloudflare/blob/main/LICENSE)\n[![Dependabot](https://img.shields.io/badge/Dependabot-0366d6?style=flat\u0026logo=dependabot\u0026logoColor=white)](.github/dependabot.yml)\n\nThe [Caddy](https://hub.docker.com/_/caddy) Docker image with the added\n[caddy-dns/cloudflare](https://github.com/caddy-dns/cloudflare) module for\nDNS-01 ACME validation support.  \nBuilt for the same platforms as the upstream Caddy project (except Windows, sorry)!\n\n\u003e [!NOTE]\n\u003e This image does not change anything with original Caddy Docker image except\n\u003e replace the `caddy` binary.\n\n```sh\n# Docker Hub\ndocker pull iarekylew00t/caddy-cloudflare:latest\n\n# GHCR\ndocker pull ghcr.io/iarekylew00t/caddy-cloudflare:latest\n```\n\n## Tags\n\nThe following tags are the latest available for the\n`iarekylew00t/caddy-cloudflare` image.\n\n\u003c!--START-TAGS--\u003e\n- [`latest`](https://github.com/IAreKyleW00t/docker-caddy-cloudflare/tree/v2.11.2)\n- [`2.11.2`](https://github.com/IAreKyleW00t/docker-caddy-cloudflare/tree/v2.11.2)\n- [`2.11`](https://github.com/IAreKyleW00t/docker-caddy-cloudflare/tree/v2.11)\n- [`2`](https://github.com/IAreKyleW00t/docker-caddy-cloudflare/tree/v2)\n\u003c!--END-TAGS--\u003e\n\nCheck the GitHub\n[Tags](https://github.com/IAreKyleW00t/docker-caddy-cloudflare/tags)\nfor a list of all versions!\n\n## Usage\n\n### Docker\n\nSince this is built off the official Docker image all of the same Volumes,\nEnvironment variables, etc. can be used with this container. Please refer to the\nofficial [Caddy](https://hub.docker.com/_/caddy) Docker image and\n[docs](https://caddyserver.com/docs/) for more information on using Caddy.\n\nSimply create the container as usual and include your `CF_API_TOKEN` (email no\nlonger required for API Tokens). We can utilize Caddy's support for\n[Environment varaiables](https://caddyserver.com/docs/caddyfile/concepts#environment-variables)\nto pass these values into our `Caddyfile`.\n\n\u003e [!IMPORTANT]\n\u003e Be sure to create your `Caddyfile` beforehand to avoid Docker startup errors.\n\n```sh\ndocker run --rm -it \\\n  --name caddy \\\n  -p 80:80 \\\n  -p 443:443 \\\n  -v caddy_data:/data \\\n  -v caddy_config:/config \\\n  -v $PWD/Caddyfile:/etc/caddy/Caddyfile \\\n  -e CF_API_TOKEN=UhKLc...JD9jk \\\n  iarekylew00t/caddy-cloudflare:latest\n```\n\nIf you prefer `docker-compose` you can use the provided\n[`docker-compose.yml`](docker-compose.yml) after updating it with your\n`CF_API_TOKEN`.\n\n```sh\ndocker compose up\n```\n\n### Caddy\n\nSet the global\n[acme_dns](https://caddyserver.com/docs/caddyfile/options#acme-dns) directive\nin your `Caddyfile`\n\n```Caddyfile\n{\n  acme_dns cloudflare {env.CF_API_TOKEN}\n}\n```\n\nor via JSON\n\n```json\n{\n  \"module\": \"acme\",\n  \"challenges\": {\n    \"dns\": {\n      \"provider\": {\n        \"name\": \"cloudflare\",\n        \"api_token\": \"{env.CF_API_TOKEN}\"\n      }\n    }\n  }\n}\n```\n\nSee the [caddy-dns/cloudflare](https://github.com/caddy-dns/cloudflare) module\nand [`tls`](https://caddyserver.com/docs/caddyfile/directives/tls#tls) directive\nfor advanced usage.\n\n### Creating a Cloudflare API Token\n\nYou can generate a Cloudflare API token via the Cloudflare web console using the following steps:\n\n1. Login to your [Dashboard](https://dash.cloudflare.com/)\n2. Go to [Account Profile](https://dash.cloudflare.com/profile) \u003e [API Tokens](https://dash.cloudflare.com/profile/api-tokens)\n3. Click \"Create token\" (Use the \"Create Custom Token\" option)\n4. Grant the following permissions:\n   - `Zone \u003e Zone \u003e Read`\n   - `Zone \u003e DNS \u003e Edit`\n\n## Building\n\nYou can easily build the Docker image locally by doing\n\n```sh\ndocker build -t caddy-cloudflare .\n```\n\nIf you prefer `docker-compose` you can use the provided\n[`docker-compose.yml`](docker-compose.yml) for building\n\n```sh\ndocker compose build\n```\n\n## Container signatures\n\nAll container images will be automatically signed via\n[Cosign](https://docs.sigstore.dev/cosign/overview/) using\n[keyless signatures](https://docs.sigstore.dev/cosign/keyless/). You can use the\nfollowing command to verify the integrity of these images yourself.\n\n```sh\ncosign verify \\\n  --certificate-oidc-issuer https://token.actions.githubusercontent.com \\\n  --certificate-identity-regexp https://github.com/IAreKyleW00t/docker-caddy-cloudflare/.github/workflows/ \\\n  iarekylew00t/caddy-cloudflare:latest\n```\n\n## Contributing\n\nFeel free to contribute and make things better by opening an\n[Issue](https://github.com/IAreKyleW00t/docker-caddy-cloudflare/issues) or\n[Pull Request](https://github.com/IAreKyleW00t/docker-caddy-cloudflare/pulls).\n\n## License\n\nSee [LICENSE](https://github.com/IAreKyleW00t/docker-caddy-cloudflare/blob/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiarekylew00t%2Fdocker-caddy-cloudflare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiarekylew00t%2Fdocker-caddy-cloudflare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiarekylew00t%2Fdocker-caddy-cloudflare/lists"}