# Build A Caddy Binary

## Setup go and go get



## Update xcaddy

run `update-xcaddy` script

xcaddy is used to build a caddy binary for a particular architecture and with particular plugins.

Edit the build script add/remove plugins to be including with the build. 

those will be the `--with`  lines
commented lines will ignore that plugin.  All plugins will be collected from some url

```
   --with github.com/iamd3vil/caddy_yaml_adapter \
   --with github.com/caddy-dns/route53 # for route53 dns chanlled
```

so simply `./build` will build the `amd64` version.
use `./build arm64` for arm64 build

when sucessfully deploy the binary to the caddy deployment repo with `./deploy <arch>`
then in the caddy deployment repo commit that change and push.  Then pull on installations for which the new binary is desired.
