diff options
| -rw-r--r-- | capsule/Dockerfile | 12 | ||||
| -rw-r--r-- | website/Dockerfile | 15 |
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"] |
