forked from Deuxfleurs/infrastructure
52 lines
1.2 KiB
Docker
52 lines
1.2 KiB
Docker
FROM rust:1.54.0-slim-bullseye 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}
|
|
|
|
WORKDIR /opt/plume/script
|
|
RUN chmod a+x ./wasm-deps.sh && sleep 1 && ./wasm-deps.sh
|
|
|
|
WORKDIR /opt/plume
|
|
RUN cargo install wasm-pack
|
|
RUN chmod a+x ./script/plume-front.sh && sleep 1 && ./script/plume-front.sh
|
|
RUN cargo install --path ./ --force --no-default-features --features postgres
|
|
RUN cargo install --path plume-cli --force --no-default-features --features postgres
|
|
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/plm /usr/local/bin/
|
|
COPY --from=builder /usr/local/cargo/bin/plume /usr/local/bin/
|
|
COPY plm-start /usr/local/bin/
|
|
|
|
CMD ["plm-start"]
|