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