Fix version display: show actual version instead of 'vunknown'

Root cause: Dockerfile build context is ./app/ but VERSION file is at
repo root, so it's excluded from the Docker image. The context processor
tried parent.parent.parent which resolves to / inside the container.

Fix:
- Context processor now checks APP_VERSION env var first, then tries
  multiple file paths (repo root for local dev, app/ dir for Docker)
- Dockerfile accepts APP_VERSION build arg and sets it as ENV
- compose.yml passes APP_VERSION build arg to all service builds

Note: Deploy script needs `export APP_VERSION=$(cat VERSION)` before
docker-compose build for the build arg to pick up the version.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
SysAdmin Agent
2026-03-21 21:11:52 +00:00
parent 59e05856b4
commit 4e9fe816d5
3 changed files with 36 additions and 10 deletions

View File

@@ -1,6 +1,8 @@
FROM python:3.12-slim
ARG APP_VERSION=unknown
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1
PYTHONUNBUFFERED=1 \
APP_VERSION=$APP_VERSION
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential libpq-dev postgresql-client \