comitium
This commit is contained in:
+29
-14
@@ -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 <feeds.txt \
|
||||
&& comitium refresh --data comitium-data/
|
||||
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user