FROM python:3.12-slim WORKDIR /app # Install uv COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv RUN apt-get update && apt-get install -y --no-install-recommends \ libpq-dev gcc \ && rm -rf /var/lib/apt/lists/* # Copy dependency files and install — leverages Docker layer cache COPY pyproject.toml uv.lock ./ RUN uv sync --no-dev --frozen COPY . . EXPOSE 5000 CMD ["uv", "run", "flask", "--app", "wsgi:app", "run", "--host=0.0.0.0", "--port=5000"]