Magazi is a content distribution platform that gates access to files using ATProtocol (Bluesky) identity and cryptographic proofs. download.ngerakines.me/
atprotocol appview atprotocol-attestations
11
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 44 lines 1.1 kB view raw
1# syntax=docker/dockerfile:1.4 2FROM rust:1.92-slim-bookworm AS builder 3 4RUN apt-get update && apt-get install -y \ 5 pkg-config \ 6 libssl-dev \ 7 && rm -rf /var/lib/apt/lists/* 8 9WORKDIR /app 10COPY Cargo.toml build.rs ./ 11 12ARG TEMPLATES=./templates 13ARG GIT_HASH=0 14ENV GIT_HASH=$GIT_HASH 15ENV TEMPLATES_PATH=$TEMPLATES 16 17COPY src ./src 18COPY ${TEMPLATES} ./templates 19COPY files ./files 20 21RUN cargo build --release --bin magazi 22 23FROM gcr.io/distroless/cc-debian12 24 25LABEL org.opencontainers.image.title="Magazi" 26LABEL org.opencontainers.image.description="A digital content store powered by ATProtocol OAuth." 27LABEL org.opencontainers.image.licenses="MIT" 28LABEL org.opencontainers.image.authors="Nick Gerakines <nick.gerakines@gmail.com>" 29LABEL org.opencontainers.image.source="https://tangled.sh/@ngerakines.me/magazi" 30LABEL org.opencontainers.image.version="0.1.0" 31 32WORKDIR /app 33COPY --from=builder /app/target/release/magazi /app/magazi 34COPY --from=builder /app/files ./files 35 36ENV HTTP_PORT=8080 37ENV FILES=/app/files 38ENV CATALOG=/app/files/catalog.json 39ENV RUST_LOG=info 40ENV RUST_BACKTRACE=full 41 42EXPOSE 8080 43 44ENTRYPOINT ["/app/magazi"]