]> Untitled Git - lemmy.git/blob - docker/prod/Dockerfile
Drone release main (ref #1556) (#1557)
[lemmy.git] / docker / prod / Dockerfile
1 # Build the project
2 FROM ekidd/rust-musl-builder:1.50.0 as builder
3
4 ARG CARGO_BUILD_TARGET=x86_64-unknown-linux-musl
5 ARG RUSTRELEASEDIR="release"
6
7 WORKDIR /app
8
9 COPY ./ ./
10
11 RUN sudo chown -R rust:rust .
12 RUN cargo build --release
13
14 # reduce binary size
15 RUN strip ./target/$CARGO_BUILD_TARGET/$RUSTRELEASEDIR/lemmy_server
16
17 RUN cp ./target/$CARGO_BUILD_TARGET/$RUSTRELEASEDIR/lemmy_server /app/lemmy_server
18
19 # The alpine runner
20 FROM alpine:3.12 as lemmy
21
22 # Install libpq for postgres
23 RUN apk add libpq
24
25 RUN addgroup -g 1000 lemmy
26 RUN adduser -D -s /bin/sh -u 1000 -G lemmy lemmy
27
28 # Copy resources
29 COPY --chown=lemmy:lemmy --from=builder /app/lemmy_server /app/lemmy
30
31 RUN chown lemmy:lemmy /app/lemmy
32 USER lemmy
33 EXPOSE 8536
34 CMD ["/app/lemmy"]