content: FROM python:3.10
  
  ENV PYTHONUNBUFFERED=1
  
  WORKDIR /app/
  
  # Install uv
  # Ref: https://docs.astral.sh/uv/guides/integration/docker/#installing-uv
  COPY --from=ghcr.io/astral-sh/uv:0.5.11 /uv /uvx /bin/
  
  # Place executables in the environment at the front of the path
  # Ref: https://docs.astral.sh/uv/guides/integration/docker/#using-the-environment
  ENV PATH="/app/.venv/bin:$PATH"
  
  # Compile bytecode
  # Ref: https://docs.astral.sh/uv/guides/integration/docker/#compiling-bytecode
  ENV UV_COMPILE_BYTECODE=1
  
  # uv Cache
  # Ref: https://docs.astral.sh/uv/guides/integration/docker/#caching
  ENV UV_LINK_MODE=copy
  
  # Install dependencies
  # Ref: https://docs.astral.sh/uv/guides/integration/docker/#intermediate-layers
  RUN --mount=type=cache,target=/root/.cache/uv \
      --mount=type=bind,source=uv.lock,target=uv.lock \
      --mount=type=bind,source=pyproject.toml,target=pyproject.toml \
      uv sync --frozen --no-install-project
  
  ENV PYTHONPATH=/app
  
  COPY ./scripts /app/scripts
  COPY ./pyproject.toml ./uv.lock ./app/alembic.ini /app/
  COPY ./app /app
  
  # this shouldn't be necessary, that's what `Install dependencies` do but shit don't work
  RUN uv pip compile /app/pyproject.toml > requirements.txt && \
      uv pip install --system --no-cache -r requirements.txt
  
  # Sync the project
  # Ref: https://docs.astral.sh/uv/guides/integration/docker/#intermediate-layers
  RUN --mount=type=cache,target=/root/.cache/uv \
      uv sync
  
  CMD ["/app/.venv/bin/fastapi", "run", "--workers", "4", "app/main.py", "--proxy-headers", "--port", "80"]
  