FROM rust:1-slim-bookworm AS builder

# native-tls (via loco-oauth2) needs OpenSSL headers + pkg-config to link.
RUN apt-get update \
 && apt-get install -y --no-install-recommends pkg-config libssl-dev \
 && rm -rf /var/lib/apt/lists/*

WORKDIR /usr/src

COPY . .

RUN cargo build --release --bin kompress-eshop-cli

FROM debian:bookworm-slim

# libssl3 = runtime shared lib for the dynamically-linked OpenSSL above.
RUN apt-get update \
 && apt-get install -y --no-install-recommends ca-certificates curl libssl3 \
 && rm -rf /var/lib/apt/lists/*

WORKDIR /usr/app

COPY --from=builder /usr/src/assets assets
COPY --from=builder /usr/src/config config
COPY --from=builder /usr/src/target/release/kompress-eshop-cli kompress-eshop-cli

ENV LOCO_ENV=production
EXPOSE 5150
ENTRYPOINT ["/usr/app/kompress-eshop-cli"]
CMD ["start"]
