repos

blog.bythewood.me-flask

mirror archived upstream

Markdown blog on Flask with Vite-built assets and WeasyPrint PDF export, rewritten from the Wagtail build that preceded it.

blogdockerflaskmarkdownpythonself-hostedvite

608 B · 25 lines · Docker Raw History
 1FROM python:3.13-alpine
 2
 3COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
 4COPY --from=oven/bun:alpine /usr/local/bin/bun /usr/local/bin/bun
 5
 6RUN apk add --update --no-cache \
 7      libstdc++ libgcc \
 8      pango fontconfig font-noto font-jetbrains-mono
 9
10WORKDIR /app
11
12COPY pyproject.toml uv.lock package.json bun.lock ./
13RUN bun install --frozen-lockfile && uv sync --frozen --no-dev
14
15COPY . .
16
17ENV PATH="/app/.venv/bin:/app/node_modules/.bin:$PATH"
18
19RUN bun run build
20
21RUN addgroup -S -g 1000 app && \
22    adduser -S -h /app -s /sbin/nologin -u 1000 -G app app && \
23    chown -R app:app /app
24USER app