repos

blog.bythewood.me-wagtail

mirror archived upstream

Self-hostable blog for developers built on Wagtail and Django, with webpack, Bootstrap, and CodeMirror.

blogbootstrapdjangodockerhandcodedpythonself-hostedwagtailwebpack

737 B · 31 lines · Docker Raw History
 1FROM alpine:3.21
 2
 3ENV LANG="C.UTF-8"
 4ENV UV_COMPILE_BYTECODE=1
 5ENV UV_LINK_MODE=copy
 6
 7COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
 8
 9RUN apk add --update --no-cache \
10      python3 \
11      nodejs yarn \
12      chromium libstdc++ nss harfbuzz freetype font-noto font-noto-extra font-noto-emoji
13
14WORKDIR /app
15
16COPY pyproject.toml uv.lock package.json yarn.lock /app/
17RUN yarn install && \
18    uv sync --frozen --no-dev
19
20COPY . .
21
22ENV PATH="/app/.venv/bin:/app/node_modules/.bin:$PATH"
23
24RUN webpack --config webpack.config.js --mode production && \
25    python3 manage.py collectstatic --noinput
26
27RUN addgroup -S -g 1000 app && \
28    adduser -S -h /app -s /sbin/nologin -u 1000 -G app app && \
29    chown -R app:app /app
30USER app:app