Compware/dockerfile

47 lines
No EOL
921 B
Text

# Build stage
FROM rust:1.82-alpine AS builder
# Install essential build tools
RUN apk add --no-cache \
musl-dev \
openssl-dev \
openssl \
curl \
build-base \
g++ \
libc6-compat \
pkgconfig
# Install build dependencies
RUN apk add --no-cache musl-dev openssl-dev openssl
# Install Rust toolchain
RUN rustup install stable
RUN rustup component add rust-src
# Install cargo-leptos
RUN cargo install cargo-leptos --version 0.2.29 --locked
WORKDIR /app
COPY . .
# Build project
ENV LEPTOS_OUTPUT_NAME="compareware"
RUN cargo leptos build --release
# Runtime stage
FROM alpine:latest
# Install runtime dependencies
RUN apk add --no-cache openssl
WORKDIR /app
COPY --from=builder /app/target/release/compareware /app/compareware
COPY assets /app/assets
# Expose port and set entrypoint
EXPOSE 3000
ENV LEPTOS_SITE_ADDR=0.0.0.0:3000
ENV LEPTOS_SITE_ROOT="site"
CMD ["/app/compareware"]