aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Dockerfile.dev41
-rw-r--r--docker-compose.dev.yaml16
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