FROM python:3.12.6 COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ ENV UV_COMPILE_BYTECODE=1 ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 # Copy the project into the image ADD . /app # Sync the project into a new environment, asserting the lockfile is up to date WORKDIR /app RUN uv sync --locked ENV PATH="/app/.venv/bin:$PATH" CMD ["fastapi", "run", "app/main.py", "--port", "80"]