FROM rust:slim AS build ENV TARGET x86_64-unknown-linux-musl RUN apt-get update && apt-get install -y musl-tools RUN rustup target add "$TARGET" RUN cargo install cargo-build-deps RUN cargo new --bin simply-shorten WORKDIR /simply-shorten RUN rustup target add x86_64-unknown-linux-musl COPY ./actix/Cargo.toml . COPY ./actix/Cargo.lock . RUN cargo build-deps --release --target=x86_64-unknown-linux-musl COPY ./actix/src ./src RUN cargo build --release --locked --target "$TARGET" FROM scratch COPY --from=build /simply-shorten/target/x86_64-unknown-linux-musl/release/simply-shorten /simply-shorten COPY ./actix/resources /resources CMD ["/simply-shorten"]