[SOLVED] How to build caddy with multiple modules?

I am trying to build caddy server with two modules - Cloudflare-dns and caddy-maxmind-geolocation but I am getting some error.

Dockerfile

FROM caddy:builder-alpine as builder

RUN xcaddy build --with github.com/caddy-dns/cloudflare github.com/porech/caddy-maxmind-geolocation

FROM caddy:alpine

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

Here are the logs

Log

Sending build context to Docker daemon  4.608kB
Step 1/4 : FROM caddy:builder-alpine as builder
 ---> c6d72fd43a1d
Step 2/4 : RUN xcaddy build --with github.com/caddy-dns/cloudflare github.com/porech/caddy-maxmind-geolocation
 ---> Running in c25981e9a9b5
2021/10/20 13:26:07 [INFO] Temporary folder: /tmp/buildenv_2021-10-20-1326.2222301904
2021/10/20 13:26:07 [INFO] Writing main module: /tmp/buildenv_2021-10-20-1326.2222301904/main.go
2021/10/20 13:26:07 [INFO] Initializing Go module
2021/10/20 13:26:07 [INFO] exec (timeout=10s): /usr/local/go/bin/go mod init caddy
go: creating new go.mod: module caddy
go: to add module requirements and sums:
        go mod tidy
2021/10/20 13:26:08 [INFO] Pinning versions
2021/10/20 13:26:08 [INFO] exec (timeout=0s): /usr/local/go/bin/go get -d -v github.com/caddyserver/caddy/v2@github.com/porech/caddy-maxmind-geolocation
go get: github.com/caddyserver/caddy/v2@github.com/porech/caddy-maxmind-geolocation: invalid version: version "github.com/porech/caddy-maxmind-geolocation" invalid: disallowed version string
2021/10/20 13:26:08 [FATAL] exit status 1

Is it possible to build caddy with multiple modules?

1 Like

Use --with multiple times, once for each module you want to add.

The docs on Docker Hub show this, see the section “Adding custom Caddy modules”

2 Likes

Thanks that worked

1 Like

This topic was automatically closed after 30 days. New replies are no longer allowed.