- Dockerfile.cloudflared: add iptables + ip6tables (wg-quick needs them for ::/0 full tunnel) - docker-compose: privileged:true for cloudflared so wg-quick can set net.ipv4.conf.all.src_valid_mark - start-cloudflared.sh: restore resolv.conf after wg-quick (resolvconf wiped docker DNS 127.0.0.11 => app unresolvable => Host Error)
13 lines
810 B
Docker
13 lines
810 B
Docker
# Сборка контейнера cloudflared с опциональным WireGuard.
|
|
# Официальный образ cloudflare/cloudflared — distroless (без оболочки/apk), поэтому:
|
|
# 1) берём из него статичный бинарник cloudflared;
|
|
# 2) саму сборку делаем на Alpine, где ставим wireguard-tools.
|
|
# Если в wg/wg0.conf нет конфига — VPN не поднимается, туннель запускается как обычно.
|
|
FROM cloudflare/cloudflared:latest AS cf
|
|
|
|
FROM alpine:3.20
|
|
RUN apk add --no-cache wireguard-tools iproute2 iptables ip6tables
|
|
COPY --from=cf /usr/local/bin/cloudflared /usr/bin/cloudflared
|
|
COPY start-cloudflared.sh /start-cloudflared.sh
|
|
ENTRYPOINT ["/bin/sh", "/start-cloudflared.sh"]
|