From 83fb55570eeee4ac89a7ee1b1c82dae1b440ea27 Mon Sep 17 00:00:00 2001 From: Joe Carstairs Date: Thu, 19 Mar 2026 09:19:35 +0000 Subject: [PATCH] comitium --- capsule/Dockerfile | 43 +++++++++++++++++++++----------- capsule/comitium-data/header.gmi | 4 +++ capsule/feeds.txt | 5 ++++ 3 files changed, 38 insertions(+), 14 deletions(-) create mode 100644 capsule/comitium-data/header.gmi create mode 100644 capsule/feeds.txt diff --git a/capsule/Dockerfile b/capsule/Dockerfile index 8c77e4b..bdcad35 100644 --- a/capsule/Dockerfile +++ b/capsule/Dockerfile @@ -1,19 +1,34 @@ -FROM alpine:3.23 - -RUN mkdir -p /var/app/content -WORKDIR /var/app -COPY .certificates/ /var/app/.certificates/ - +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 build --release --target-dir agate-target --manifest-path agate-3.3.20/Cargo.toml \ - && mv agate-target/release/agate /usr/local/bin/agate \ + && cargo install --path agate-3.3.20/ \ && rm -rf agate-3.3.20 agate-target -COPY content/ content +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 \ + && rm -rf comitium-v1.8.2 + +FROM alpine:3.23 AS final +RUN mkdir -p /var/app/content +WORKDIR /var/app +COPY .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 + +RUN apk --no-cache add gcc # Dependency for agate +COPY --from=agate /root/.cargo/bin/agate /usr/local/bin/agate +COPY --from=comitium /usr/local/bin/comitium /usr/local/bin/comitium + +COPY content/ comitium-data/ feeds.txt ./ +RUN while read feed; do \ + comitium add --data comitium-data/ "$feed"; \ + done