# syntax=docker/dockerfile:1.4 FROM rust:1.92-slim-bookworm AS builder RUN apt-get update && apt-get install -y \ pkg-config \ libssl-dev \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY Cargo.toml build.rs ./ ARG TEMPLATES=./templates ARG GIT_HASH=0 ENV GIT_HASH=$GIT_HASH ENV TEMPLATES_PATH=$TEMPLATES COPY src ./src COPY ${TEMPLATES} ./templates COPY files ./files RUN cargo build --release --bin magazi FROM gcr.io/distroless/cc-debian12 LABEL org.opencontainers.image.title="Magazi" LABEL org.opencontainers.image.description="A digital content store powered by ATProtocol OAuth." LABEL org.opencontainers.image.licenses="MIT" LABEL org.opencontainers.image.authors="Nick Gerakines " LABEL org.opencontainers.image.source="https://tangled.sh/@ngerakines.me/magazi" LABEL org.opencontainers.image.version="0.1.0" WORKDIR /app COPY --from=builder /app/target/release/magazi /app/magazi COPY --from=builder /app/files ./files ENV HTTP_PORT=8080 ENV FILES=/app/files ENV CATALOG=/app/files/catalog.json ENV RUST_LOG=info ENV RUST_BACKTRACE=full EXPOSE 8080 ENTRYPOINT ["/app/magazi"]