]> Untitled Git - lemmy.git/blob - docker/prod/Dockerfile
Trying a target fix.
[lemmy.git] / docker / prod / Dockerfile
1 ARG RUST_BUILDER_IMAGE=ekidd/rust-musl-builder:stable
2 ARG CARGO_BUILD_TARGET=x86_64-unknown-linux-musl
3 ARG RUSTRELEASEDIR="release"
4
5 FROM $RUST_BUILDER_IMAGE as rust
6
7 WORKDIR /app/server
8 RUN sudo chown -R rust:rust .
9 COPY . ./
10 RUN cargo build --release
11
12 # reduce binary size
13 RUN strip ./target/$CARGO_BUILD_TARGET/$RUSTRELEASEDIR/lemmy_server
14
15 RUN cp ./target/$CARGO_BUILD_TARGET/$RUSTRELEASEDIR/lemmy_server /app/server/
16
17 FROM $RUST_BUILDER_IMAGE as docs
18 WORKDIR /app
19 COPY --chown=rust:rust docs ./docs
20 RUN mdbook build docs/
21
22 FROM alpine:3.12 as lemmy
23
24 # Install libpq for postgres
25 RUN apk add libpq
26
27 # Install Espeak for captchas
28 RUN apk add espeak
29
30 RUN addgroup -g 1000 lemmy
31 RUN adduser -D -s /bin/sh -u 1000 -G lemmy lemmy
32
33 # Copy resources
34 COPY --chown=lemmy:lemmy config/defaults.hjson /config/defaults.hjson
35 COPY --chown=lemmy:lemmy --from=rust /app/server/lemmy_server /app/lemmy
36 COPY --chown=lemmy:lemmy --from=docs /app/docs/book/ /app/documentation/
37
38 RUN chown lemmy:lemmy /app/lemmy
39 USER lemmy
40 EXPOSE 8536
41 CMD ["/app/lemmy"]