diff options
| author | Joe Carstairs <me@joeac.net> | 2026-03-19 09:19:35 +0000 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2026-03-19 09:19:35 +0000 |
| commit | 83fb55570eeee4ac89a7ee1b1c82dae1b440ea27 (patch) | |
| tree | b67b52a2aca839650428773f646cfed86b40738f /capsule | |
| parent | df21b007245f216d97ca08ebb564abd6b61af105 (diff) | |
comitium
Diffstat (limited to 'capsule')
| -rw-r--r-- | capsule/Dockerfile | 41 | ||||
| -rw-r--r-- | capsule/comitium-data/header.gmi | 4 | ||||
| -rw-r--r-- | capsule/feeds.txt | 5 |
3 files changed, 37 insertions, 13 deletions
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 +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/ \ + && 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 \ + && rm -rf comitium-v1.8.2 +FROM alpine:3.23 AS final RUN mkdir -p /var/app/content WORKDIR /var/app -COPY .certificates/ /var/app/.certificates/ +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 --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 \ - && rm -rf agate-3.3.20 agate-target +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 <feeds.txt \ + && comitium refresh --data comitium-data/ -COPY content/ content +CMD agate --content content/ --addr [::]:1965 --addr 0.0.0.0:1965 --lang en-GB -CMD set -eux && agate \ - --content content/ \ - --addr [::]:1965 \ - --addr 0.0.0.0:1965 \ - --lang en-GB diff --git a/capsule/comitium-data/header.gmi b/capsule/comitium-data/header.gmi new file mode 100644 index 0000000..b7609bb --- /dev/null +++ b/capsule/comitium-data/header.gmi @@ -0,0 +1,4 @@ +# joeac's feed aggregator + +Hi! I'm Joe Carstairs, and you've found my feed aggregator. This is a list of +some stuff I think I might read. diff --git a/capsule/feeds.txt b/capsule/feeds.txt new file mode 100644 index 0000000..7ad4677 --- /dev/null +++ b/capsule/feeds.txt @@ -0,0 +1,5 @@ +gemini://gemini.tuxmachines.org:1965/feed.xml +gemini://joeac.net/gemlog/ +gemini://idiomdrottning.org:1965/sub +gemini://spool-five.com:1965/gemlog/index.gmi +gemini://jsreed5.org:1965/feeds/log.xml |
