datatrash/Dockerfile

29 lines
670 B
Docker

FROM rust:alpine3.14 as builder
WORKDIR /app
RUN apk add musl-dev
RUN cargo init
COPY Cargo.toml Cargo.lock ./
RUN cargo build --release --target=x86_64-unknown-linux-musl
COPY src ./src
COPY static ./static
COPY template ./template
COPY snippet ./snippet
COPY init-db.sql ./init-db.sql
RUN touch src/main.rs
RUN cargo build --release --target=x86_64-unknown-linux-musl
RUN strip /app/target/x86_64-unknown-linux-musl/release/datatrash
FROM alpine:3.14
COPY --from=builder /app/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"]