Files
stl/Dockerfile
2021-04-22 15:13:28 +02:00

41 lines
848 B
Docker

###################
### BUILD STAGE ###
###################
FROM rust:1.51 as build_stage
# Install build dependencies
RUN rustup target add x86_64-unknown-linux-musl
# Build project
WORKDIR /app
COPY . .
WORKDIR /app/server
RUN cargo build --release --target x86_64-unknown-linux-musl
WORKDIR /app
RUN strip target/x86_64-unknown-linux-musl/release/stl
########################
### PRODUCTION STAGE ###
########################
FROM scratch
# Default to staging environment
# Override with "production" when deploying for real
ENV ROCKET_ENV="staging"
ENV ROCKET_TEMPLATE_DIR="/templates"
ENV DB_PATH="/database"
VOLUME "/database"
WORKDIR /
# Copy static files
COPY server/templates templates
COPY server/static static
# Copy application binary
COPY --from=build_stage /app/target/x86_64-unknown-linux-musl/release/stl stl
CMD ["/stl"]