# Caddy + Cloudflare DNS プラグイン
#
# Caddy の公式配布イメージには DNS プロバイダのプラグインが入っていない。
# Cloudflare の DNS-01 チャレンジでワイルドカード証明書を取るには、プラグインを
# 組み込んだバイナリを自分でビルドする必要がある (xcaddy による 2 段ビルド)。
#
# ビルド:
#   docker compose -f docker-compose.yml -f docker-compose.caddy.yml build caddy
#
# 手順書: docs/operations/caddy-cloudflare-tls.html

# --- stage 1: xcaddy でプラグイン入りバイナリをビルド -----------------------
FROM caddy:2-builder AS builder

RUN xcaddy build \
    --with github.com/caddy-dns/cloudflare

# --- stage 2: 公式ランタイムイメージにバイナリだけ差し替え -------------------
FROM caddy:2

COPY --from=builder /usr/bin/caddy /usr/bin/caddy

# 版を固定したい場合は上の 2 つのタグを揃えて具体的な版に置き換える
# (例: caddy:2.10-builder / caddy:2.10)。builder とランタイムで版が
# ずれると、差し替えたバイナリと同梱の設定ファイルが食い違うことがある。
