pict-rs-aggregator/docker/dev/Dockerfile
2020-12-08 16:03:18 -06:00

43 lines
958 B
Docker

# Build
FROM ekidd/rust-musl-builder:1.48.0 as rust
ARG OUT_DIR=/tmp
# Cache deps
WORKDIR /app
RUN sudo chown -R rust:rust .
RUN USER=root cargo new server
WORKDIR /app/server
COPY Cargo.toml Cargo.lock ./
RUN sudo chown -R rust:rust .
RUN mkdir -p ./src/bin ./scss ./templates ./static \
&& touch ./scss/layout.scss \
&& echo 'fn main() { println!("Dummy") }' > ./src/bin/main.rs
COPY src/build.rs ./src/build.rs
RUN cargo build --release
RUN rm -rf ./src ./scss ./templates
COPY src ./src/
COPY scss ./scss/
COPY templates ./templates/
COPY static ./static/
# Build for release
RUN cargo build --release --frozen
FROM alpine:3.12
# Copy resources
COPY --from=rust /app/server/target/x86_64-unknown-linux-musl/release/picture-aggregator /app/picture-aggregator
RUN addgroup -g 1000 pictrs
RUN adduser -D -s /bin/sh -u 1000 -G pictrs pictrs
RUN chown pictrs:pictrs /app/picture-aggregator
USER pictrs
EXPOSE 8080
CMD ["/app/picture-aggregator"]