FROM rust:1.47.0-slim-buster as builder RUN apt-get update && \ apt-get install -y \ pkg-config \ git \ curl \ postgresql \ postgresql-contrib \ libpq-dev \ gettext \ git \ curl \ gcc \ make \ openssl \ libssl-dev \ libclang-dev ARG VERSION WORKDIR /opt RUN git clone -n https://git.joinplu.me/Plume/Plume.git plume WORKDIR /opt/plume RUN git checkout ${VERSION} RUN cargo install diesel_cli --no-default-features --features postgres --version '=1.3.0' # frontend RUN cargo install cargo-web RUN cargo web deploy -p plume-front --release # backend RUN cargo install --no-default-features --features postgres -f --path . # cli RUN cargo install --no-default-features --features postgres --path plume-cli RUN cargo clean #----------------------------- FROM debian:bullseye-slim RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ libpq5 \ libssl1.1 WORKDIR /app COPY --from=builder /opt/plume /app COPY --from=builder /usr/local/cargo/bin/diesel /usr/local/bin/ COPY --from=builder /usr/local/cargo/bin/plm /usr/local/bin/ COPY --from=builder /usr/local/cargo/bin/plume /usr/local/bin/ COPY plm-start /usr/local/bin/ CMD ["plm-start"]