summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2026-03-22 08:16:40 +0000
committerJoe Carstairs <me@joeac.net>2026-03-22 08:16:40 +0000
commitac31fbf862a633dfb14825c244df30bfe4dc75e8 (patch)
tree018f6e7be0038837e4189bef47a378284ab08bc0
parent1a59baaacca7a61bac044b4423b8af4a1b2af9fe (diff)
parent0d140692721f36c129c445a5874bab64170967d1 (diff)
Merge branch 'main' of https://git.joeac.net/joeac/joeac.net
-rw-r--r--capsule/Dockerfile12
-rw-r--r--website/Dockerfile15
2 files changed, 19 insertions, 8 deletions
diff --git a/capsule/Dockerfile b/capsule/Dockerfile
index c5912df..a9295e9 100644
--- a/capsule/Dockerfile
+++ b/capsule/Dockerfile
@@ -2,6 +2,7 @@ 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
@@ -9,6 +10,7 @@ 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
@@ -16,7 +18,7 @@ RUN mkdir -p /var/app/content
WORKDIR /var/app
COPY .certificates .certificates
RUN crontab -l > crontab.tmp \
- && echo "0 */6 * * * /usr/local/bin/comitium refresh --data /var/app/comitium-data && cp /var/app/comitium-data/feed.gmi /var/app/content/feed.gmi" >> crontab.tmp \
+ && echo "0 */6 * * * /usr/local/bin/comitium refresh --data /var/app/comitium-data" >> crontab.tmp \
&& crontab crontab.tmp \
&& rm crontab.tmp
@@ -24,13 +26,15 @@ 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 ./
+COPY comitium-data comitium-data
+COPY feeds.txt feeds.txt
RUN while read feed; do \
comitium add --data comitium-data/ "$feed"; \
done <feeds.txt \
&& comitium refresh --data comitium-data/ \
- && cp comitium-data/feed.gmi content/feed.gmi \
- && cp comitium-data/subscriptions.gmi content/subscriptions.gmi
+ && ln comitium-data/feed.gmi content/feed.gmi \
+ && ln comitium-data/subscriptions.gmi content/subscriptions.gmi
+COPY content content
CMD agate --content content/ --addr [::]:1965 --addr 0.0.0.0:1965 --lang en-GB
diff --git a/website/Dockerfile b/website/Dockerfile
index cd4a80c..07a6ca6 100644
--- a/website/Dockerfile
+++ b/website/Dockerfile
@@ -1,4 +1,4 @@
-FROM node:lts-alpine3.23 AS runtime
+FROM node:lts-alpine3.22 AS build
WORKDIR /app
COPY package.json package-lock.json ./
@@ -12,11 +12,18 @@ RUN mkdir -p "$(dirname "$(echo "$ASTRO_DB_REMOTE_URL" | cut -d':' -f 2)")"
RUN npm run astro db push
COPY . .
-RUN npm run build
+RUN npm run build && rm -rf public src
+
+FROM node:lts-alpine3.22 AS final
+WORKDIR /app
ENV HOST=0.0.0.0
ENV PORT=4321
+EXPOSE 4321
ENV MAX_DAILY_EMAILS=100
-EXPOSE 4321
-CMD ["node", "./dist/server/entry.mjs"]
+COPY --from=build /app/node_modules node_modules
+COPY --from=build /app/db.sqlite db.sqlite
+COPY --from=build /app/dist/ .
+
+CMD ["node", "./server/entry.mjs"]