From 2d89475f0b9648e5efcf827d3e01356ee84b5465 Mon Sep 17 00:00:00 2001 From: Joe Carstairs Date: Thu, 18 Jun 2026 19:59:58 +0100 Subject: renames capsule -> gemini --- gemini.Dockerfile | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 gemini.Dockerfile (limited to 'gemini.Dockerfile') diff --git a/gemini.Dockerfile b/gemini.Dockerfile new file mode 100644 index 0000000..7cd4cad --- /dev/null +++ b/gemini.Dockerfile @@ -0,0 +1,38 @@ +FROM alpine:3.23 AS agate +RUN apk --update --no-cache add rust cargo \ + && wget -O - https://github.com/mbrubeck/agate/archive/refs/tags/v3.3.20.tar.gz | tar -xz \ + && cargo install --path agate-3.3.20/ \ + && apk del rust cargo \ + && rm -rf agate-3.3.20 agate-target + +FROM alpine:3.23 AS comitium +RUN apk --no-cache add make go scdoc +RUN wget -O - https://git.sr.ht/~nytpu/comitium/archive/v1.8.2.tar.gz | tar -xz \ + && make --directory=comitium-v1.8.2 \ + && mv comitium-v1.8.2/build/comitium /usr/local/bin/comitium \ + && apk del make go scdoc \ + && rm -rf comitium-v1.8.2 + +FROM alpine:3.23 AS final +RUN mkdir -p /var/app/content +WORKDIR /var/app +COPY gemini/.certificates .certificates +RUN crontab -l > crontab.tmp \ + && echo "0 */6 * * * /usr/local/bin/comitium refresh --data /var/app/comitium-data" >> crontab.tmp \ + && crontab crontab.tmp \ + && rm crontab.tmp + +# bash is needed to run the build scripts +# busybox-openrc provides rc-service, which runs crond +# gcc is a dependency for agate +# make is needed to run the Makefile +RUN apk --no-cache add bash busybox-openrc gcc make +RUN rc-update add crond +COPY --from=agate /root/.cargo/bin/agate /usr/local/bin/agate +COPY --from=comitium /usr/local/bin/comitium /usr/local/bin/comitium + +COPY gemini . +COPY common /var/common +RUN make + +CMD ./run.sh -- cgit v1.2.3