diff options
| -rw-r--r-- | .envrc | 3 | ||||
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | Dockerfile.builder | 27 | ||||
| -rw-r--r-- | bookworm-backports.list | 1 | ||||
| -rwxr-xr-x | tools/build-builder | 12 | ||||
| -rwxr-xr-x | tools/build-caddy | 17 |
6 files changed, 61 insertions, 0 deletions
@@ -0,0 +1,3 @@ +PATH_add tools + +source_env_if_exists .envrc.local diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/Dockerfile.builder b/Dockerfile.builder new file mode 100644 index 0000000..dbb1026 --- /dev/null +++ b/Dockerfile.builder @@ -0,0 +1,27 @@ +FROM debian:bookworm-slim + +RUN apt-get update \ + && apt install -y \ + debian-keyring \ + debian-archive-keyring \ + apt-transport-https \ + ca-certificates \ + && true + +COPY bookworm-backports.list /etc/apt/sources.list.d/bookworm-backports.list +ADD https://dl.cloudsmith.io/public/caddy/xcaddy/debian.deb.txt /etc/apt/sources.list.d/caddy.list +ADD https://dl.cloudsmith.io/public/caddy/xcaddy/gpg.key /opt/caddy/gpg.key +RUN gpg \ + --dearmor \ + -o /usr/share/keyrings/caddy-xcaddy-archive-keyring.gpg \ + /opt/caddy/gpg.key + +RUN apt-get update \ + && apt-get install -y \ + -t bookworm-backports \ + golang-go \ + xcaddy \ + && true + +RUN mkdir /app +WORKDIR /app diff --git a/bookworm-backports.list b/bookworm-backports.list new file mode 100644 index 0000000..1455dda --- /dev/null +++ b/bookworm-backports.list @@ -0,0 +1 @@ +deb http://deb.debian.org/debian bookworm-backports main diff --git a/tools/build-builder b/tools/build-builder new file mode 100755 index 0000000..6a48cd1 --- /dev/null +++ b/tools/build-builder @@ -0,0 +1,12 @@ +#!/bin/bash -e + +## tools/build-builder +## +## Builds a Docker image that can build Caddy binaries for Debian. + +cd "$(dirname "$0")/.." + +docker build \ + --tag caddy-builder:latest \ + --file Dockerfile.builder \ + . diff --git a/tools/build-caddy b/tools/build-caddy new file mode 100755 index 0000000..f20dccc --- /dev/null +++ b/tools/build-caddy @@ -0,0 +1,17 @@ +#!/bin/bash -e + +## tools/build-caddy +## +## Builds Caddy from source. + +cd "$(dirname "$0")/.." + +[ -d target ] || mkdir target + +docker run \ + --rm \ + --interactive \ + --tty \ + --volume "$PWD/target:/app" \ + caddy-builder:latest \ + xcaddy build |
