+6
-19
docker/Dockerfile
+6
-19
docker/Dockerfile
···
1
FROM docker.io/golang:1.24-alpine3.21 AS build
2
3
ENV CGO_ENABLED=1
4
5
RUN apk add --no-cache gcc musl-dev
6
-
7
-
WORKDIR /usr/src/app
8
-
9
-
COPY go.mod go.sum ./
10
RUN go mod download
11
12
COPY . .
13
RUN go build -v \
14
-
-o /usr/local/bin/knotserver \
15
-ldflags='-s -w -extldflags "-static"' \
16
-
./cmd/knotserver && \
17
-
go build -v \
18
-
-o /usr/local/bin/keyfetch \
19
-
./cmd/keyfetch && \
20
-
go build -v \
21
-
-o /usr/local/bin/repoguard \
22
-
./cmd/repoguard
23
24
FROM docker.io/alpine:3.21
25
···
36
head -c 32 /dev/random | base64 | tr -dc 'a-zA-Z0-9' | passwd git --stdin && \
37
mkdir /app && mkdir /home/git/repositories
38
39
-
COPY --from=build /usr/local/bin/knotserver /usr/local/bin
40
-
COPY --from=build /usr/local/bin/keyfetch /usr/local/libexec/tangled-keyfetch
41
-
COPY --from=build /usr/local/bin/repoguard /home/git/repoguard
42
COPY docker/rootfs/ .
43
44
-
RUN chown root:root /usr/local/libexec/tangled-keyfetch && \
45
-
chmod 755 /usr/local/libexec/tangled-keyfetch
46
-
47
EXPOSE 22
48
EXPOSE 5555
49
50
-
ENTRYPOINT ["/bin/sh", "-c", "chown git:git /home/git/repoguard && chown git:git /app && chown git:git /home/git/repositories && /init"]
···
1
FROM docker.io/golang:1.24-alpine3.21 AS build
2
3
ENV CGO_ENABLED=1
4
+
WORKDIR /usr/src/app
5
+
COPY go.mod go.sum ./
6
7
RUN apk add --no-cache gcc musl-dev
8
RUN go mod download
9
10
COPY . .
11
RUN go build -v \
12
+
-o /usr/local/bin/knot \
13
-ldflags='-s -w -extldflags "-static"' \
14
+
./cmd/knot
15
16
FROM docker.io/alpine:3.21
17
···
28
head -c 32 /dev/random | base64 | tr -dc 'a-zA-Z0-9' | passwd git --stdin && \
29
mkdir /app && mkdir /home/git/repositories
30
31
+
COPY --from=build /usr/local/bin/knot /usr/local/bin
32
COPY docker/rootfs/ .
33
34
EXPOSE 22
35
EXPOSE 5555
36
37
+
ENTRYPOINT ["/bin/sh", "-c", "chown git:git /app && chown git:git /home/git/repositories && /init"]
+1
-1
docker/rootfs/etc/s6-overlay/s6-rc.d/knotserver/run
+1
-1
docker/rootfs/etc/s6-overlay/s6-rc.d/knotserver/run
+1
-1
docker/rootfs/etc/ssh/sshd_config.d/tangled_sshd.conf
+1
-1
docker/rootfs/etc/ssh/sshd_config.d/tangled_sshd.conf