| |
| FROM rust:1.86-slim AS builder |
|
|
| WORKDIR /app |
|
|
| |
| RUN apt-get update && apt-get install -y --no-install-recommends \ |
| ca-certificates pkg-config libssl-dev \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| COPY Cargo.toml ./ |
|
|
| |
| RUN mkdir -p src && echo 'fn main() {}' > src/main.rs |
| RUN cargo build --release |
|
|
| |
| RUN rm -rf src && rm -f target/release/puter-chat-web target/release/deps/puter_chat_web* |
|
|
| |
| COPY . . |
| RUN cargo build --release |
|
|
| |
| FROM debian:bookworm-slim |
|
|
| RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates wget \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| WORKDIR /app |
| COPY --from=builder /app/target/release/puter-chat-web . |
| COPY static ./static |
|
|
| ENV PORT=7860 |
| EXPOSE 7860 |
|
|
| HEALTHCHECK --interval=30s --timeout=3s --start-period=15s \ |
| CMD wget --no-verbose --tries=1 --spider http://localhost:7860/ || exit 1 |
|
|
| CMD ["./puter-chat-web"] |