34 lines
845 B
Docker
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"]
|