lemmy/docker/dev/volume_mount.dockerfile
Dessalines 2b5feca806 Trying out cargo chef and a travis docker image cache. (#1238)
* Trying out cargo chef and a travis docker image cache.

* trying to change internal target.

* Use latest cargo-chef with --target

* Remove caching for now.

* Adding back in chowns

* Adding back in cache.

* Remove travis caching.

* Switching dev dockerfile to match prod, using cargo-chef and alpine.

* Make travis happy

* Trying a chown rust.

* Caching cargo-chef first.

* Moving the chowns

* Removing many copy commands.

* Go back to rust 1.47.0 due to config-rs breaking.

* Adding the old volume mount version.

* Adding some script comments.

Co-authored-by: Luca Palmieri <lpalmieri@truelayer.com>
2020-11-26 13:24:13 +01:00

35 lines
782 B
Docker

# syntax=docker/dockerfile:experimental
FROM rust:1.47-buster as rust
ENV HOME=/home/root
WORKDIR /app
# Copy the source folders
COPY . ./
# Build for debug
RUN --mount=type=cache,target=/usr/local/cargo/registry \
--mount=type=cache,target=/app/target \
cargo build
RUN --mount=type=cache,target=/app/target \
cp target/debug/lemmy_server lemmy_server
FROM peaceiris/mdbook:v0.3.7 as docs
WORKDIR /app
COPY docs ./docs
RUN mdbook build docs/
FROM ubuntu:20.10
# Install libpq for postgres and espeak
RUN apt-get update -y
RUN apt-get install -y libpq-dev espeak
# Copy resources
COPY config/defaults.hjson /config/defaults.hjson
COPY --from=rust /app/lemmy_server /app/lemmy
COPY --from=docs /app/docs/book/ /app/documentation/
EXPOSE 8536
CMD ["/app/lemmy"]