diff options
| -rw-r--r-- | Dockerfile.dev | 41 | ||||
| -rw-r--r-- | docker-compose.dev.yaml | 16 |
2 files changed, 57 insertions, 0 deletions
diff --git a/Dockerfile.dev b/Dockerfile.dev new file mode 100644 index 0000000..4c9f78c --- /dev/null +++ b/Dockerfile.dev @@ -0,0 +1,41 @@ +FROM ubuntu:24.04 AS builder + +ENV DEBIAN_FRONTEND=noninteractive + +COPY . /app +WORKDIR /app + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + git ca-certificates pkg-config \ + build-essential make gcc \ + libssl-dev libzip-dev zlib1g-dev \ + libcurl4-openssl-dev \ + liblua5.4-dev \ + gettext && \ + git submodule update --init --recursive && \ + rm -rf /var/lib/apt/lists/* + +RUN make NO_REGEX=NeedsStartEnd LUA_PKGCONFIG=lua5.4 -j"$(nproc)" install + +FROM ubuntu:24.04 AS runtime + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update && \ + apt-get install -y --no-install-recommends lighttpd lighttpd-mod-magnet liblua5.4-0 python3 highlight python3-markdown python3-pygments && \ + rm -rf /var/lib/apt/lists/* + +COPY --from=builder /var/www/htdocs/cgit /usr/share/webapps/cgit +COPY ./filters /usr/lib/cgit/filters +COPY ./lua /usr/lib/cgit/lua + +COPY lighttpd.conf /etc/lighttpd/lighttpd.conf +COPY cgitrc /etc/cgitrc +COPY cgitrepos /etc/cgitrepos + +RUN mkdir -p /var/cache/cgit && \ + chown -R www-data:www-data /var/cache/cgit + +EXPOSE 80 +ENTRYPOINT [ "lighttpd", "-D", "-f", "/etc/lighttpd/lighttpd.conf" ]
\ No newline at end of file diff --git a/docker-compose.dev.yaml b/docker-compose.dev.yaml new file mode 100644 index 0000000..f039453 --- /dev/null +++ b/docker-compose.dev.yaml @@ -0,0 +1,16 @@ +version: '3' + +services: + cgit: + build: + dockerfile: Dockerfile.dev + ports: + - "8080:80" + volumes: + - ./cgit:/usr/share/webapps/cgit/cgit.cgi + - ./lua:/usr/lib/cgit/lua + - ./repos:/repositories + - ./lighttpd.conf:/etc/lighttpd/lighttpd.conf:ro + - ./cgitrc:/etc/cgitrc:ro + - ./cgitrepos:/etc/cgitrepos:ro + - ./filters:/usr/lib/cgit/filters/:ro |
