32 lines
845 B
Docker
32 lines
845 B
Docker
FROM rust:1.98-trixie as builder
|
|
|
|
WORKDIR /app
|
|
|
|
COPY Cargo.toml Cargo.lock ./
|
|
COPY crates/ crates/
|
|
|
|
RUN cargo build --release --package herald-server
|
|
|
|
|
|
FROM debian:trixie-slim
|
|
|
|
# git clones the pull request. ca-certificates is what every HTTPS call needs
|
|
# (Gitea, OpenRouter, git). The shared libraries are the non-base ones the binary
|
|
# links against, as reported by `ldd target/release/herald-server`; libc, libm
|
|
# and libgcc_s come from the base image.
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
git \
|
|
libssl3t64 \
|
|
libzstd1 \
|
|
zlib1g \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
WORKDIR /app
|
|
COPY --from=builder /app/target/release/herald-server ./herald-server
|
|
|
|
# Exec form, so the binary is PID 1 and receives the SIGTERM it handles to shut
|
|
# down gracefully.
|
|
CMD ["./herald-server"]
|