Goit

Simple and lightweight Git web server
git clone https://git.omkov.net/Goit
git clone [email protected]:Goit
Log | Tree | Refs | README | Download

Goit/Containerfile (43 lines, 1.4 KiB) -rw-r--r-- file download

4c7b023 Jakob Wakeling 2023-12-17 20:00:10
0
FROM golang:alpine as build
4c7b023 Jakob Wakeling 2023-12-17 20:00:10
1
RUN apk update
4c7b023 Jakob Wakeling 2023-12-17 20:00:10
2
RUN apk upgrade
4c7b023 Jakob Wakeling 2023-12-17 20:00:10
3
RUN apk add --no-cache build-base
4c7b023 Jakob Wakeling 2023-12-17 20:00:10
4
COPY . /app
4c7b023 Jakob Wakeling 2023-12-17 20:00:10
5
WORKDIR /app
4c7b023 Jakob Wakeling 2023-12-17 20:00:10
6
ARG version
4c7b023 Jakob Wakeling 2023-12-17 20:00:10
7
RUN VERSION=$version make build
4c7b023 Jakob Wakeling 2023-12-17 20:00:10
8
4c7b023 Jakob Wakeling 2023-12-17 20:00:10
9
FROM alpine:latest
4c7b023 Jakob Wakeling 2023-12-17 20:00:10
10
RUN apk update
4c7b023 Jakob Wakeling 2023-12-17 20:00:10
11
RUN apk upgrade
de239c0 Jakob Wakeling 2025-01-04 17:24:50
12
RUN apk add --no-cache git openssh
4c7b023 Jakob Wakeling 2023-12-17 20:00:10
13
COPY --from=build /app/bin /app/bin
de239c0 Jakob Wakeling 2025-01-04 17:24:50
14
RUN ln -s /app/bin/goit-shell /usr/local/bin/goit-shell
dad559f Jakob Wakeling 2025-02-09 13:49:12
15
de239c0 Jakob Wakeling 2025-01-04 17:24:50
16
RUN addgroup -g 973 -S git
de239c0 Jakob Wakeling 2025-01-04 17:24:50
17
RUN adduser -g git -s /bin/sh -G git -S -u 973 git
de239c0 Jakob Wakeling 2025-01-04 17:24:50
18
RUN sed -i 's/^git:!:/git:*:/' /etc/shadow
de239c0 Jakob Wakeling 2025-01-04 17:24:50
19
RUN mkdir -p /home/git/.config /home/git/.local/share /home/git/.local/state
de239c0 Jakob Wakeling 2025-01-04 17:24:50
20
RUN chown -R git:git /home/git/.config /home/git/.local
dad559f Jakob Wakeling 2025-02-09 13:49:12
21
dad559f Jakob Wakeling 2025-02-09 13:49:12
22
RUN sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
dad559f Jakob Wakeling 2025-02-09 13:49:12
23
RUN echo 'HostKey /etc/ssh/host_keys/etc/ssh/ssh_host_rsa_key' >> /etc/ssh/sshd_config.d/00_host_keys.conf
dad559f Jakob Wakeling 2025-02-09 13:49:12
24
RUN echo 'HostKey /etc/ssh/host_keys/etc/ssh/ssh_host_ecdsa_key' >> /etc/ssh/sshd_config.d/00_host_keys.conf
dad559f Jakob Wakeling 2025-02-09 13:49:12
25
RUN echo 'HostKey /etc/ssh/host_keys/etc/ssh/ssh_host_ed25519_key' >> /etc/ssh/sshd_config.d/00_host_keys.conf
dad559f Jakob Wakeling 2025-02-09 13:49:12
26
4c7b023 Jakob Wakeling 2023-12-17 20:00:10
27
WORKDIR /app
dad559f Jakob Wakeling 2025-02-09 13:49:12
28
EXPOSE 8080/tcp
dad559f Jakob Wakeling 2025-02-09 13:49:12
29
EXPOSE 22/tcp
dad559f Jakob Wakeling 2025-02-09 13:49:12
30
# VOLUME /home/git/.config/goit /home/git/.local/share/goit /home/git/.local/state/goit
dad559f Jakob Wakeling 2025-02-09 13:49:12
31
VOLUME /etc/ssh/host_keys
de239c0 Jakob Wakeling 2025-01-04 17:24:50
32
de239c0 Jakob Wakeling 2025-01-04 17:24:50
33
RUN cat <<EOF > /app/bin/launch.sh
b6b062e Jakob Wakeling 2025-01-11 18:23:53
34
#!/bin/sh -e
dad559f Jakob Wakeling 2025-02-09 13:49:12
35
mkdir -p /etc/ssh/host_keys/etc/ssh
dad559f Jakob Wakeling 2025-02-09 13:49:12
36
ssh-keygen -A -f /etc/ssh/host_keys
de239c0 Jakob Wakeling 2025-01-04 17:24:50
37
/usr/sbin/sshd -D &
b6b062e Jakob Wakeling 2025-01-11 18:23:53
38
su git -c "/app/bin/goit \$@"
de239c0 Jakob Wakeling 2025-01-04 17:24:50
39
EOF
de239c0 Jakob Wakeling 2025-01-04 17:24:50
40
de239c0 Jakob Wakeling 2025-01-04 17:24:50
41
ENTRYPOINT ["sh", "/app/bin/launch.sh"]
42