coreos-home-server/config/service/git/Containerfile
Alex Palaistras 576ded0eee git: Add static site generation, read-only access
This commit extends the pre-existing `git` service with static HTML
generation for public repositories (i.e. repositories placed under the
`public` directory), which can then be served via existing mechanisms.

In support of these changes, public repositories can be made available
for cloning via the `git://` protocol, which listens on port 9418 by
default. Only public repositories will be considered, and user access
has been set up to ensure that private repositories are not made
accessible by accident.
2021-12-06 11:58:01 +00:00

28 lines
941 B
Docker

FROM docker.io/debian:bullseye-slim AS builder
ARG STAGIT_VERSION=1.0
RUN apt-get update -y && apt-get install -y --no-install-recommends \
git libgit2-dev build-essential
RUN git clone git://git.codemadness.org/stagit && \
cd stagit && git checkout ${STAGIT_VERSION} && make && make PREFIX=/usr DESTDIR=/stagit-build install && \
rm -Rf /stagit
FROM docker.io/debian:bullseye-slim
RUN apt-get update -y && apt-get install -y --no-install-recommends \
ca-certificates openssh-server git libgit2-1.1
COPY --from=builder /stagit-build /
RUN mkdir -p /var/run/sshd
RUN addgroup --system --gid 10000 git
RUN adduser --system --uid 10000 --ingroup git --shell /usr/bin/git-shell --home /var/lib/git git
RUN adduser --system --uid 10001 --ingroup git --shell /usr/bin/git-shell --home /var/lib/git/public git-public
COPY container/config /etc
COPY container/run-git-server /run-git-server
EXPOSE 22
CMD ["/run-git-server"]