# syntax=docker/dockerfile:1 FROM python:3.12-slim AS base ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 PIP_NO_CACHE_DIR=1 PIP_DISABLE_PIP_VERSION_CHECK=1 WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt FROM base AS test COPY requirements-dev.txt pytest.ini ./ RUN pip install -r requirements-dev.txt COPY app ./app COPY tests ./tests RUN python -m pytest FROM base AS runtime ARG APP_VERSION=dev ENV APP_VERSION=${APP_VERSION} DATA_DIR=/data PORT=5066 COPY app ./app RUN useradd --uid 1000 --create-home bridge && mkdir -p /data && chown bridge:bridge /data USER bridge VOLUME ["/data"] EXPOSE 5066 HEALTHCHECK --interval=30s --timeout=5s --start-period=10s \ CMD python -c "import os,urllib.request; urllib.request.urlopen('http://127.0.0.1:%s/healthz' % os.environ.get('PORT','5066'), timeout=4)" CMD ["python", "-m", "app.web"]