From 67887f7c7f5bec6a057290d8a2a269f89e3fba87 Mon Sep 17 00:00:00 2001 From: hanna Date: Fri, 30 May 2025 15:50:23 -0400 Subject: [PATCH] docker: update to unified binary deployment --- docker/Dockerfile | 25 +++++-------------- .../etc/s6-overlay/s6-rc.d/knotserver/run | 2 +- .../etc/ssh/sshd_config.d/tangled_sshd.conf | 2 +- 3 files changed, 8 insertions(+), 21 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 2c9c1a2..891e68f 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,25 +1,17 @@ FROM docker.io/golang:1.24-alpine3.21 AS build ENV CGO_ENABLED=1 - -RUN apk add --no-cache gcc musl-dev - WORKDIR /usr/src/app - COPY go.mod go.sum ./ + +RUN apk add --no-cache gcc musl-dev RUN go mod download COPY . . RUN go build -v \ - -o /usr/local/bin/knotserver \ + -o /usr/local/bin/knot \ -ldflags='-s -w -extldflags "-static"' \ - ./cmd/knotserver && \ - go build -v \ - -o /usr/local/bin/keyfetch \ - ./cmd/keyfetch && \ - go build -v \ - -o /usr/local/bin/repoguard \ - ./cmd/repoguard + ./cmd/knot FROM docker.io/alpine:3.21 @@ -36,15 +28,10 @@ RUN apk add --no-cache shadow s6-overlay execline openssh git && \ head -c 32 /dev/random | base64 | tr -dc 'a-zA-Z0-9' | passwd git --stdin && \ mkdir /app && mkdir /home/git/repositories -COPY --from=build /usr/local/bin/knotserver /usr/local/bin -COPY --from=build /usr/local/bin/keyfetch /usr/local/libexec/tangled-keyfetch -COPY --from=build /usr/local/bin/repoguard /home/git/repoguard +COPY --from=build /usr/local/bin/knot /usr/local/bin COPY docker/rootfs/ . -RUN chown root:root /usr/local/libexec/tangled-keyfetch && \ - chmod 755 /usr/local/libexec/tangled-keyfetch - EXPOSE 22 EXPOSE 5555 -ENTRYPOINT ["/bin/sh", "-c", "chown git:git /home/git/repoguard && chown git:git /app && chown git:git /home/git/repositories && /init"] +ENTRYPOINT ["/bin/sh", "-c", "chown git:git /app && chown git:git /home/git/repositories && /init"] diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/knotserver/run b/docker/rootfs/etc/s6-overlay/s6-rc.d/knotserver/run index d1e492e..3d5ecf1 100755 --- a/docker/rootfs/etc/s6-overlay/s6-rc.d/knotserver/run +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/knotserver/run @@ -1,3 +1,3 @@ #!/command/with-contenv ash -exec s6-setuidgid git /usr/local/bin/knotserver +exec s6-setuidgid git /usr/local/bin/knot server diff --git a/docker/rootfs/etc/ssh/sshd_config.d/tangled_sshd.conf b/docker/rootfs/etc/ssh/sshd_config.d/tangled_sshd.conf index d41844a..f09360e 100644 --- a/docker/rootfs/etc/ssh/sshd_config.d/tangled_sshd.conf +++ b/docker/rootfs/etc/ssh/sshd_config.d/tangled_sshd.conf @@ -5,5 +5,5 @@ HostKey /etc/ssh/keys/ssh_host_ed25519_key PasswordAuthentication no Match User git - AuthorizedKeysCommand /usr/local/libexec/tangled-keyfetch -git-dir /home/git/repositories + AuthorizedKeysCommand /usr/local/bin/knot keys -o authorized-keys AuthorizedKeysCommandUser nobody -- 2.51.2