1 ARG RUST_BUILDER_IMAGE=rust:1.47-slim-buster
4 FROM $RUST_BUILDER_IMAGE as builder
6 # Install compilation dependencies
8 && apt-get -y install --no-install-recommends libssl-dev pkg-config libpq-dev \
9 && rm -rf /var/lib/apt/lists/*
15 RUN cargo build --release
18 RUN strip ./target/release/lemmy_server
20 RUN cp ./target/release/lemmy_server /app/lemmy_server
23 FROM $RUST_BUILDER_IMAGE as docs
25 RUN cargo install --debug mdbook
27 RUN mdbook build docs/
30 FROM debian:buster-slim as lemmy
32 # Install libpq for postgres and espeak for captchas
34 && apt-get -y install --no-install-recommends espeak postgresql-client libc6 libssl1.1 \
35 && rm -rf /var/lib/apt/lists/*
37 RUN addgroup --gid 1000 lemmy
38 RUN adduser --no-create-home --shell /bin/sh --uid 1000 --gid 1000 lemmy
41 COPY --chown=lemmy:lemmy config/defaults.hjson /config/defaults.hjson
42 COPY --chown=lemmy:lemmy --from=builder /app/lemmy_server /app/lemmy
43 COPY --chown=lemmy:lemmy --from=docs /app/docs/book/ /app/documentation/
45 RUN chown lemmy:lemmy /app/lemmy