diff options
| author | Thomas Vanbesien <tvanbesi@proton.me> | 2026-02-12 20:45:58 +0100 |
|---|---|---|
| committer | Thomas Vanbesien <tvanbesi@proton.me> | 2026-02-12 21:00:39 +0100 |
| commit | 58181e629a5d51eaee7f6ad08fcbda4411b22d19 (patch) | |
| tree | afac1586dfb7cdf0717eea7d8d36a05725d0f835 /Dockerfile | |
| download | cgit-1.0.tar.gz cgit-1.0.zip | |
Diffstat (limited to 'Dockerfile')
| -rw-r--r-- | Dockerfile | 40 |
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 |
