aboutsummaryrefslogtreecommitdiff
path: root/docker/git-server/Dockerfile
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-02-19 01:55:29 +0800
committerYuqian Yang <crupest@crupest.life>2025-02-19 01:57:24 +0800
commitfe595d89ca55d08d7d6ae5ac9050cb7faf0eb44e (patch)
treef31d0138465bc524c36d7e8e17d24953c7dc2f87 /docker/git-server/Dockerfile
parent120d4b3c72d7956cd13d76e659f3e082a8dc428e (diff)
downloadcrupest-fe595d89ca55d08d7d6ae5ac9050cb7faf0eb44e.tar.gz
crupest-fe595d89ca55d08d7d6ae5ac9050cb7faf0eb44e.tar.bz2
crupest-fe595d89ca55d08d7d6ae5ac9050cb7faf0eb44e.zip
feat(git-server): add git server.
Diffstat (limited to 'docker/git-server/Dockerfile')
-rw-r--r--docker/git-server/Dockerfile24
1 files changed, 24 insertions, 0 deletions
diff --git a/docker/git-server/Dockerfile b/docker/git-server/Dockerfile
new file mode 100644
index 0000000..4f51485
--- /dev/null
+++ b/docker/git-server/Dockerfile
@@ -0,0 +1,24 @@
+
+FROM debian:latest AS lighttpd-config-generator
+RUN apt-get update && apt-get install -y apache2-utils
+RUN --mount=type=secret,id=git-server,required=true \
+ . /run/secrets/git-server && \
+ htpasswd -cb /user-info ${CRUPEST_GIT_SERVER_USERNAME} ${CRUPEST_GIT_SERVER_PASSWORD}
+ARG ROOT_URL
+ADD cgitrc.template /cgitrc.template
+RUN sed "s|@@ROOT_URL@@|${ROOT_URL}|g" /cgitrc.template > /cgitrc
+
+FROM debian:latest
+RUN apt-get update && apt-get install -y \
+ git cgit lighttpd apache2-utils python3-pygments python3-markdown \
+ tar gzip bzip2 zip unzip tini && \
+ rm -rf /var/lib/apt/lists/*
+
+COPY --from=lighttpd-config-generator /user-info /app/
+COPY --from=lighttpd-config-generator /cgitrc /etc/cgitrc
+ADD git-lighttpd.conf git-auth.conf /app/
+ADD --chmod=755 lighttpd-wrapper /app/
+
+VOLUME [ "/git" ]
+ENTRYPOINT ["/usr/bin/tini", "--"]
+CMD [ "/app/lighttpd-wrapper" ]