diff options
Diffstat (limited to 'Containerfile')
| -rw-r--r-- | Containerfile | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/Containerfile b/Containerfile new file mode 100644 index 0000000..0e46cdb --- /dev/null +++ b/Containerfile @@ -0,0 +1,58 @@ +ARG DEBIAN_VERSION=trixie + +FROM debian:${DEBIAN_VERSION}-slim AS builder + +ARG CGIT_COMMIT=044821677c774cd24f25f1818ea51d09cc64b006 + +RUN apt-get update \ + && apt-get install --no-install-recommends -y \ + build-essential \ + ca-certificates \ + git \ + libssl-dev \ + libzip-dev \ + pkg-config \ + zlib1g-dev \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /src + +RUN git init cgit \ + && cd cgit \ + && git remote add origin https://git.zx2c4.com/cgit \ + && git fetch --depth=1 origin "${CGIT_COMMIT}" \ + && git checkout --detach FETCH_HEAD \ + && git submodule update --init --recursive + +WORKDIR /src/cgit + +RUN make -j"$(nproc)" \ + NO_LUA=1 \ + NO_GETTEXT=YesPlease + +RUN make install \ + NO_LUA=1 \ + NO_GETTEXT=YesPlease \ + DESTDIR=/out \ + CGIT_SCRIPT_PATH=/www/cgi-bin \ + CGIT_DATA_PATH=/www + + +FROM debian:${DEBIAN_VERSION}-slim + +RUN apt-get update \ + && apt-get install --no-install-recommends -y \ + busybox-static \ + tini \ + zlib1g \ + && rm -rf /var/lib/apt/lists/* + +COPY --from=builder /out/www /www + +RUN mkdir -p \ + /srv/git \ + /var/cache/cgit + +EXPOSE 8080 + +ENTRYPOINT ["/usr/bin/tini", "--", "/bin/busybox", "httpd", "-f", "-p", "0.0.0.0:8080", "-h", "/www"] |
