fqnd / Dockerfile.webui
Haruka041
Telegram Bot完整实现 + HF Space部署
bc32e7b
Raw
History Blame Contribute Delete
1.36 kB
# syntax=docker/dockerfile:1.6
FROM rust:1.92.0-bookworm AS builder
WORKDIR /workspace
RUN apt-get update \
&& apt-get install -y --no-install-recommends pkg-config libssl-dev ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Copy source (includes Tomato-Novel-Official-API as subdir in the build context)
COPY . /workspace/Tomato-Novel-Downloader
# Move the private dependency to expected sibling path
RUN if [ -d "/workspace/Tomato-Novel-Downloader/Tomato-Novel-Official-API" ]; then \
mv /workspace/Tomato-Novel-Downloader/Tomato-Novel-Official-API /workspace/Tomato-Novel-Official-API; \
fi
WORKDIR /workspace/Tomato-Novel-Downloader
RUN --mount=type=cache,target=/usr/local/cargo/registry \
--mount=type=cache,target=/usr/local/cargo/git \
cargo build --release --no-default-features --features official-api,tts,docker
FROM debian:bookworm-slim
RUN apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=builder /workspace/Tomato-Novel-Downloader/target/release/tomato-novel-downloader /app/tomato-novel-downloader
COPY docker-entrypoint-webui.sh /app/entrypoint.sh
RUN chmod +x /app/entrypoint.sh
ENV TOMATO_WEB_ADDR=0.0.0.0:18423
ENV TOMATO_DATA_DIR=
ENV TOMATO_WEB_PASSWORD=
EXPOSE 18423
ENTRYPOINT ["/app/entrypoint.sh"]