# Build stage
FROM rust:1.88.0 AS builder

WORKDIR /app

COPY ./public ./public
COPY ./cache ./cache

RUN cargo build --release --manifest-path ./public/Cargo.toml

# Runtime stage with Alpine
FROM alpine:latest

WORKDIR /app

RUN apk add --no-cache ca-certificates libgcc

COPY --from=builder /app/public/target/release/public /app/public
COPY --from=builder /app/cache ./cache

EXPOSE 3000

CMD ["/app/public"]
