{"id":13548226,"url":"https://github.com/crazy-max/docker-cloudflared","last_synced_at":"2025-04-05T17:08:44.369Z","repository":{"id":38398830,"uuid":"210601020","full_name":"crazy-max/docker-cloudflared","owner":"crazy-max","description":"Cloudflared proxy-dns Docker image","archived":false,"fork":false,"pushed_at":"2024-06-29T20:43:47.000Z","size":286,"stargazers_count":307,"open_issues_count":4,"forks_count":37,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-10-18T07:32:54.118Z","etag":null,"topics":["alpine-linux","cloudflared","dns-over-https","dns-proxy","docker","docker-compose","multi-platform"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/crazy-max.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"crazy-max","custom":"https://www.paypal.me/crazyws"}},"created_at":"2019-09-24T12:46:06.000Z","updated_at":"2024-10-08T20:21:05.000Z","dependencies_parsed_at":"2024-08-01T12:15:31.410Z","dependency_job_id":null,"html_url":"https://github.com/crazy-max/docker-cloudflared","commit_stats":null,"previous_names":[],"tags_count":71,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crazy-max%2Fdocker-cloudflared","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crazy-max%2Fdocker-cloudflared/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crazy-max%2Fdocker-cloudflared/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crazy-max%2Fdocker-cloudflared/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crazy-max","download_url":"https://codeload.github.com/crazy-max/docker-cloudflared/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247369952,"owners_count":20927928,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["alpine-linux","cloudflared","dns-over-https","dns-proxy","docker","docker-compose","multi-platform"],"created_at":"2024-08-01T12:01:07.557Z","updated_at":"2025-04-05T17:08:44.336Z","avatar_url":"https://github.com/crazy-max.png","language":"Dockerfile","readme":"\u003cp align=\"center\"\u003e\u003ca href=\"https://github.com/crazy-max/docker-cloudflared\" target=\"_blank\"\u003e\u003cimg height=\"128\" src=\".github/docker-cloudflared.jpg\"\u003e\u003c/a\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://hub.docker.com/r/crazymax/cloudflared/tags?page=1\u0026ordering=last_updated\"\u003e\u003cimg src=\"https://img.shields.io/github/v/tag/crazy-max/docker-cloudflared?label=version\u0026style=flat-square\" alt=\"Latest Version\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/crazy-max/docker-cloudflared/actions?workflow=build\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/crazy-max/docker-cloudflared/build.yml?branch=master\u0026label=build\u0026logo=github\u0026style=flat-square\" alt=\"Build Status\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://hub.docker.com/r/crazymax/cloudflared/\"\u003e\u003cimg src=\"https://img.shields.io/docker/stars/crazymax/cloudflared.svg?style=flat-square\u0026logo=docker\" alt=\"Docker Stars\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://hub.docker.com/r/crazymax/cloudflared/\"\u003e\u003cimg src=\"https://img.shields.io/docker/pulls/crazymax/cloudflared.svg?style=flat-square\u0026logo=docker\" alt=\"Docker Pulls\"\u003e\u003c/a\u003e\n  \u003cbr /\u003e\u003ca href=\"https://github.com/sponsors/crazy-max\"\u003e\u003cimg src=\"https://img.shields.io/badge/sponsor-crazy--max-181717.svg?logo=github\u0026style=flat-square\" alt=\"Become a sponsor\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.paypal.me/crazyws\"\u003e\u003cimg src=\"https://img.shields.io/badge/donate-paypal-00457c.svg?logo=paypal\u0026style=flat-square\" alt=\"Donate Paypal\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## About\n\nDocker image for [Cloudflared](https://github.com/cloudflare/cloudflared), a\nproxy-dns service.\n\n\u003e [!TIP] \n\u003e Want to be notified of new releases? Check out 🔔 [Diun (Docker Image Update Notifier)](https://github.com/crazy-max/diun)\n\u003e project!\n\n___\n\n* [Build locally](#build-locally)\n* [Image](#image)\n* [Environment variables](#environment-variables)\n* [Ports](#ports)\n* [Usage](#usage)\n  * [Docker Compose](#docker-compose)\n  * [Command line](#command-line)\n* [Upgrade](#upgrade)\n* [Notes](#notes)\n  * [Performance issues](#performance-issues)\n  * [Use with Pi-hole](#use-with-pi-hole)\n* [Contributing](#contributing)\n* [License](#license)\n\n## Build locally\n\n```shell\ngit clone https://github.com/crazy-max/docker-cloudflared.git\ncd docker-cloudflared\n\n# Build image and output to docker (default)\ndocker buildx bake\n\n# Build multi-platform image\ndocker buildx bake image-all\n```\n\n## Image\n\n| Registry                                                                                               | Image                           |\n|--------------------------------------------------------------------------------------------------------|---------------------------------|\n| [Docker Hub](https://hub.docker.com/r/crazymax/cloudflared/)                                           | `crazymax/cloudflared`          |\n| [GitHub Container Registry](https://github.com/users/crazy-max/packages/container/package/cloudflared) | `ghcr.io/crazy-max/cloudflared` |\n\nThe following platforms for this image are available:\n\n```\n$ docker buildx imagetools inspect crazymax/cloudflared --format \"{{json .Manifest}}\" | \\\n  jq -r '.manifests[] | select(.platform.os != null and .platform.os != \"unknown\") | .platform | \"\\(.os)/\\(.architecture)\\(if .variant then \"/\" + .variant else \"\" end)\"'\n\nlinux/amd64\nlinux/arm/v6\nlinux/arm/v7\nlinux/arm64\nlinux/386\nlinux/ppc64le\nlinux/riscv64\n```\n\n## Environment variables\n\n* `TZ`: The timezone assigned to the container (default `UTC`)\n* `TUNNEL_DNS_UPSTREAM`: Upstream endpoint URL, you can specify multiple endpoints for redundancy. (default `https://1.1.1.1/dns-query,https://1.0.0.1/dns-query`)\n* `TUNNEL_DNS_PORT`: DNS listening port (default `5053`)\n* `TUNNEL_DNS_ADDRESS`: DNS listening IP (default `0.0.0.0` \"all interfaces\")\n* `TUNNEL_METRICS`: Prometheus metrics host and port. (default `0.0.0.0:49312`)\n\n## Ports\n\n* `5053/udp`: Listen port for the DNS over HTTPS proxy server\n* `49312/tcp`: Listen port for metrics reporting\n\n## Usage\n\n### Docker Compose\n\nDocker compose is the recommended way to run this image. You can use the\nfollowing [docker compose template](examples/compose/compose.yml), then run\nthe container:\n\n```bash\ndocker compose up -d\ndocker compose logs -f\n```\n\n### Command line\n\nYou can also use the following minimal command :\n\n```bash\ndocker run -d --name cloudflared \\\n  -p 5053:5053/udp \\\n  -p 49312:49312 \\\n  crazymax/cloudflared:latest\n```\n\n## Notes\n\n### Performance issues\n\nFor a DNS server with lots of short-lived connections, you may wish to consider\nadding `--net=host` to the run command or `network_mode: \"host\"` in your compose\nfile for performance reasons (see [#22](https://github.com/crazy-max/docker-cloudflared/issues/22)).\nHowever, it is not required and some shared container hosting services may not\nallow it. You should also be aware `--net=host` can be a security risk in some\nsituations. The [Center for Internet Security - Docker 1.6 Benchmark](https://github.com/cismirror/old-benchmarks-archive/blob/master/CIS_Docker_1.6_Benchmark_v1.0.0.pdf)\nrecommends against this mode since it essentially tells Docker to not\ncontainerize the container's networking, thereby giving it full access to the\nhost machine's network interfaces. It also mentions this option could cause the\ncontainer to do unexpected things such as shutting down the Docker host as\nreferenced in [moby/moby#6401](https://github.com/moby/moby/issues/6401). For\nthe most secure deployment, unrelated services with confidential data should\nnot be run on the same host or VPS. In such cases, using `--net=host` should\nhave limited impact on security.\n\n### Use with Pi-hole\n\n[Pi-hole](https://pi-hole.net/) currently [provides documentation](https://docs.pi-hole.net/guides/dns-over-https/)\nto manually set up DNS-Over-HTTPS with Cloudflared.\n\nWith Docker and this image, it's quite easy to use it with [Pi-hole](https://pi-hole.net/).\nTake a look at this simple [docker compose template](examples/pihole/compose.yml),\nand you're ready to go.\n\n## Upgrade\n\nTo upgrade, pull the newer image and launch the container :\n\n```bash\ndocker compose pull\ndocker compose up -d\n```\n\n## Contributing\n\nWant to contribute? Awesome! The most basic way to show your support is to star\nthe project, or to raise issues. You can also support this project by [**becoming a sponsor on GitHub**](https://github.com/sponsors/crazy-max)\nor by making a [PayPal donation](https://www.paypal.me/crazyws) to ensure this\njourney continues indefinitely!\n\nThanks again for your support, it is much appreciated! :pray:\n\n## License\n\nMIT. See `LICENSE` for more details.\n","funding_links":["https://github.com/sponsors/crazy-max","https://www.paypal.me/crazyws"],"categories":["Dockerfile"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrazy-max%2Fdocker-cloudflared","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrazy-max%2Fdocker-cloudflared","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrazy-max%2Fdocker-cloudflared/lists"}