Docker image for Cloudflared, a proxy-dns service.
git clone https://github.com/frittenlab/docker-cloudflared.git
cd docker-cloudflared
# Build image and output to docker (default)
docker buildx bake
# Build multi-platform image
docker buildx bake image-all
Registry | Image |
---|---|
Docker Hub | frittenbude/cloudflared |
GitHub Container Registry | ghcr.io/frittenlab/cloudflared |
Following platforms for this image are available:
$ docker run --rm mplatform/mquery frittenbude/cloudflared:latest
Image: frittenbude/cloudflared:latest
* Manifest List: Yes
* Supported platforms:
- linux/amd64
- linux/arm/v6
- linux/arm/v7
- linux/arm64
TZ
: The timezone assigned to the container (defaultUTC
)TUNNEL_DNS_UPSTREAM
: Upstream endpoint URL, you can specify multiple endpoints for redundancy. (defaulthttps://1.1.1.1/dns-query,https://1.0.0.1/dns-query
)TUNNEL_DNS_PORT
: DNS listening port (default5053
)TUNNEL_DNS_ADDRESS
: DNS listening IP (default0.0.0.0
"all interfaces")TUNNEL_METRICS
: Prometheus metrics host and port. (default0.0.0.0:49312
)
5053/udp
: Listen port for the DNS over HTTPS proxy server49312/tcp
: Listen port for metrics reporting
Docker compose is the recommended way to run this image. You can use the following docker compose template, then run the container:
docker-compose up -d
docker-compose logs -f
You can also use the following minimal command :
docker run -d --name cloudflared \
-p 5053:5053/udp \
-p 49312:49312 \
frittenbude/cloudflared:latest
Pi-hole currently provides documentation to manually set up DNS-Over-HTTPS with Cloudflared.
With Docker and this image, it's quite easy to use it with Pi-hole. Take a look at this simple docker compose template and you're ready to go.
To upgrade, pull the newer image and launch the container :
docker-compose pull
docker-compose up -d