datatrash/Dockerfile

34 lines
845 B
Docker

FROM ekidd/rust-musl-builder:latest as build
USER rust
WORKDIR /home/rust/src/
RUN USER=rust cargo new datatrash
WORKDIR /home/rust/src/datatrash
COPY --chown=rust Cargo.toml Cargo.lock ./
RUN cargo build --release --features vendored
COPY --chown=rust src ./src
COPY --chown=rust static ./static
COPY --chown=rust template ./template
COPY --chown=rust init-db.sql ./init-db.sql
RUN touch src/main.rs
RUN cargo build --release --features vendored
RUN strip target/x86_64-unknown-linux-musl/release/datatrash
FROM alpine:latest
ENV RUST_BACKTRACE "1"
RUN mkdir /opt/datatrash
WORKDIR /opt/datatrash
COPY --from=build \
/home/rust/src/datatrash/target/x86_64-unknown-linux-musl/release/datatrash \
/opt/datatrash/
COPY static /opt/datatrash/static
RUN mkdir /opt/datatrash/files
EXPOSE 8000
ENTRYPOINT ["/opt/datatrash/datatrash"]