FROM ghcr.io/astral-sh/uv:debian-slim
RUN apt-get update \
&& apt-get install -y git curl ffmpeg \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Install nbr (ensure we get the correct architecture)
RUN curl -Lf https://github.com/fllesser/nbr/releases/latest/download/nbr-Linux-musl-x86_64.tar.gz | \
tar -xzf - -C /usr/local/bin/ nbr && \
chmod +x /usr/local/bin/nbr
WORKDIR /app
COPY pyproject.toml uv.lock .python-version ./
RUN --mount=type=cache,target=/root/.cache/uv \
uv sync --frozen --no-dev --no-install-project --link-mode copy
COPY . .
# RUN uv tool run --from nb-cli nb orm upgrade
EXPOSE 8080
ENV TZ=Asia/Shanghai
CMD ["nbr", "run"]