nightjetter/Dockerfile
2025-08-20 16:17:27 +02:00

31 lines
734 B
Docker

FROM python:3.13-slim AS base
# FROM ghcr.io/astral-sh/uv:0.8-debian-slim AS builder
#
# WORKDIR /app
#
# COPY pyproject.toml README.md uv.lock ./
#
# RUN uv sync --frozen
#
# COPY . /app
FROM base AS builder
COPY --from=ghcr.io/astral-sh/uv:0.8 /uv /bin/uv
ENV UV_COMPILE_BYTECODE=1 UV_LINK_MODE=copy
WORKDIR /app
COPY uv.lock pyproject.toml /app/
RUN --mount=type=cache,target=/root/.cache/uv \
uv sync --frozen --no-install-project --no-dev
COPY . /app
RUN --mount=type=cache,target=/root/.cache/uv \
uv sync --frozen --no-dev
# TODO: Run as non-root user (but careful with output directory ownership)
FROM base AS runtime
WORKDIR /app
ENV PATH="/app/.venv/bin:$PATH"
COPY --from=builder /app /app
ENTRYPOINT ["nightjet"]