|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FROM rust:1.83-alpine AS builder |
|
|
|
|
|
|
|
|
RUN apk add --no-cache musl-dev |
|
|
|
|
|
WORKDIR /build |
|
|
|
|
|
|
|
|
COPY Cargo.toml Cargo.lock ./ |
|
|
COPY src/ ./src/ |
|
|
COPY static/ ./static/ |
|
|
COPY solver.toml ./ |
|
|
|
|
|
|
|
|
RUN cargo build --release --target x86_64-unknown-linux-musl |
|
|
|
|
|
|
|
|
FROM alpine:latest |
|
|
|
|
|
RUN apk add --no-cache ca-certificates |
|
|
|
|
|
WORKDIR /app |
|
|
|
|
|
|
|
|
COPY --from=builder /build/target/x86_64-unknown-linux-musl/release/employee-scheduling ./employee-scheduling |
|
|
|
|
|
|
|
|
COPY --from=builder /build/static/ ./static/ |
|
|
|
|
|
|
|
|
COPY --from=builder /build/solver.toml ./solver.toml |
|
|
|
|
|
|
|
|
EXPOSE 7860 |
|
|
|
|
|
|
|
|
CMD ["./employee-scheduling"] |
|
|
|