Purge CDN cache on deploy

This commit is contained in:
Akira Tempaku 2025-04-30 23:14:55 +09:00
parent 87ea8f601b
commit cc6683cdcc
Signed by: paku
GPG key ID: 5B4E8402BCC50607
2 changed files with 25 additions and 5 deletions

View file

@ -1,19 +1,24 @@
FROM fukamachi/qlot
ARG TW_VERSION=4.1.3
ARG TW_BIN=./bin/tailwindcss
WORKDIR /app
COPY . /app
RUN apt-get update && apt-get install -y --no-install-recommends build-essential curl libev-dev
RUN mkdir -p ./bin \
&& curl -sLO https://github.com/tailwindlabs/tailwindcss/releases/latest/download/tailwindcss-linux-x64 \
&& curl -sLO https://github.com/tailwindlabs/tailwindcss/releases/download/v${TW_VERSION}/tailwindcss-linux-x64 \
&& chmod +x tailwindcss-linux-x64 \
&& mv tailwindcss-linux-x64 ./bin/tailwindcss
&& mv tailwindcss-linux-x64 ${TW_BIN}
RUN ./bin/tailwindcss -i ./static/style/global.css -o ./static/style/dist.css --minify
RUN ${TW_BIN} -i ./static/style/global.css -o ./static/style/dist.css --minify
RUN qlot install --quiet
RUN qlot install --quiet --no-color
RUN chmod +x entrypoint.sh
EXPOSE 3000
ENTRYPOINT [".qlot/bin/clackup", "--system", "hp", "--server", "woo", "--address", "0.0.0.0", "--port", "3000", "src/app.lisp"]
ENTRYPOINT ["./entrypoint.sh"]

15
entrypoint.sh Normal file
View file

@ -0,0 +1,15 @@
#!/bin/bash
set -e
if [[ -n "$CLOUDFLARE_ZONE_ID" && -n "$CLOUDFLARE_API_KEY" ]]; then
echo "Purging Cloudflare cache..."
curl -s -X POST "https://api.cloudflare.com/client/v4/zones/${CLOUDFLARE_ZONE_ID}/purge_cache" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${CLOUDFLARE_API_KEY}" \
-d '{ "hosts": ["skyizwhite.dev"] }'
else
echo "Cloudflare credentials not provided. Skipping cache purge."
fi
echo "Starting server..."
exec .qlot/bin/clackup --system hp --server woo --address 0.0.0.0 --port 3000 src/app.lisp