FROM docker.io/rust:slim
RUN apt-get update \
  && cd / \
  && cargo new --bin bookstore
COPY . /bookstore
RUN cd /bookstore && cargo build --release

FROM docker.io/library/debian:bullseye-slim
RUN apt-get update \
  && apt-get install -y curl \
  && apt-get clean \
  && rm -rf /var/lib/apt/lists /var/cache/apt/archives \
\
  && case "$(uname -m)" in \
  i686|i386) DETECT_ARCH=32bit;; \
  amd64|x86_64) DETECT_ARCH=64bit;; \
  armv6l) DETECT_ARCH=armv6;; \
  armv7l) DETECT_ARCH=arm;; \
  aarch64) DETECT_ARCH=arm64;; \
  *) DETECT_ARCH=UNKNOWN_$(uname -m);; esac \
\
  && echo "ARCH: $(uname -m) => ${DETECT_ARCH}" \
  && curl -L -v -o /kepubify https://github.com/pgaskin/kepubify/releases/download/v4.0.4/kepubify-linux-${DETECT_ARCH}

# Release image: copy executable from builder
# Debian version needs to match builder image to avoid linker issues.

FROM docker.io/library/debian:bullseye-slim
COPY --from=0 /bookstore/target/release/bookstore /bookstore
COPY --from=1 /kepubify /kepubify
RUN chmod +x /bookstore /kepubify \
  && /bookstore --version \
  && /kepubify --version

ENV KEPUBIFY_PATH=/kepubify
