From 6c22a6e48e8ff49a69434eca7a7b78158576cb7b Mon Sep 17 00:00:00 2001 From: Thomas Vanbesien Date: Wed, 11 Feb 2026 21:00:52 +0100 Subject: Initial import --- services/cgit/Dockerfile | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 services/cgit/Dockerfile (limited to 'services/cgit/Dockerfile') diff --git a/services/cgit/Dockerfile b/services/cgit/Dockerfile new file mode 100644 index 0000000..4c23eb2 --- /dev/null +++ b/services/cgit/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 -- cgit v1.2.3