# ------------------------------------------------------------------------------
# First Stage: Build Stage
# ------------------------------------------------------------------------------
FROM fedora:latest AS builder
RUN dnf in -y rustc cargo pkg-config openssl-devel && dnf clean all
WORKDIR /app
COPY Cargo.toml Cargo.lock ./
COPY src/ ./src/
RUN cargo build --release
# ------------------------------------------------------------------------------
# Second Stage: Production Stage
# ------------------------------------------------------------------------------
FROM fedora:latest AS final
RUN groupadd --system ferris-bot && useradd --system --gid ferris-bot ferris-bot
USER ferris-bot
WORKDIR /app
COPY --from=builder /app/target/release/ferris-bot .
EXPOSE 8080
CMD ["./ferris-bot"]