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