summaryrefslogtreecommitdiffstats
path: root/Dockerfile
diff options
context:
space:
mode:
authorThomas Vanbesien <tvanbesi@proton.me>2026-02-12 20:45:58 +0100
committerThomas Vanbesien <tvanbesi@proton.me>2026-02-12 21:00:39 +0100
commit58181e629a5d51eaee7f6ad08fcbda4411b22d19 (patch)
treeafac1586dfb7cdf0717eea7d8d36a05725d0f835 /Dockerfile
downloadcgit-55ab08855462a51370443fe96fc6f5c10f08cac4.tar.gz
cgit-55ab08855462a51370443fe96fc6f5c10f08cac4.zip
Initial importHEADv1.0master
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile40
1 files changed, 40 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..4c23eb2
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,40 @@
+FROM debian:13.3-slim AS build
+
+ARG CGIT_COMMIT=09d24d7cd0b7e85633f2f43808b12871bb209d69
+
+# Install build dependencies
+RUN apt-get update \
+ && apt-get install --assume-yes --no-install-recommends \
+ make gcc pkg-config curl xz-utils ca-certificates libzip-dev libssl-dev liblua5.2-dev \
+ && rm -rf /var/lib/apt/lists/*
+
+# Build cgit
+ADD --unpack=true https://git.zx2c4.com/cgit/snapshot/cgit-${CGIT_COMMIT}.tar.xz /usr/src
+WORKDIR /usr/src/cgit-${CGIT_COMMIT}
+COPY cgit.conf .
+RUN make get-git && make LUA_PKGCONFIG=lua5.2 && make install && rm -rf $(pwd)
+
+FROM httpd:2.4.66 AS final
+
+ARG UID=1000 GID=1000
+
+# Create cgit user (used by Apache)
+RUN groupadd --gid ${GID} cgit && useradd --uid ${UID} --groups cgit --no-user-group cgit
+
+# Copy cgit built in previous stage
+COPY --from=build /var/www/htdocs/cgit /var/www/htdocs
+COPY --from=build /usr/local/lib/cgit/filters /usr/local/lib/cgit/filters
+RUN mkdir /var/cache/cgit && chown cgit:cgit /var/cache/cgit
+
+# Install runtime dependencies
+RUN apt-get update \
+ && apt-get install --assume-yes --no-install-recommends \
+ python3 python3-pygments python3-markdown \
+ && rm -rf /var/lib/apt/lists/*
+
+# HTTP server configuration
+COPY httpd.conf /usr/local/apache2/conf/
+
+WORKDIR /var/www/htdocs
+EXPOSE 80
+VOLUME /srv/git /etc/cgit /usr/local/lib/cgit/filters/commit /srv/cgit