A decentralized event management and credentialing system built on atproto.
at main 44 lines 1.2 kB view raw
1# syntax=docker/dockerfile:1.4 2FROM rust:1.89-slim 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 FEATURES=embed 13ARG TEMPLATES=./templates 14ARG STATIC=./static 15ARG GIT_HASH=0 16ENV GIT_HASH=$GIT_HASH 17 18COPY src ./src 19COPY migrations ./migrations 20COPY static ./static 21COPY ${TEMPLATES} ./templates 22COPY ${STATIC} ./static 23 24RUN cargo build --release --bin acudo --no-default-features --features ${FEATURES} 25 26FROM gcr.io/distroless/cc-debian12 27 28LABEL org.opencontainers.image.title="Acudo" 29LABEL org.opencontainers.image.description="A ticket platform for Lexicon Community events and RSVPs." 30LABEL org.opencontainers.image.licenses="MIT" 31LABEL org.opencontainers.image.authors="Nick Gerakines <nick.gerakines@gmail.com>" 32LABEL org.opencontainers.image.source="https://tangled.sh/@smokesignal.events/acudo" 33LABEL org.opencontainers.image.version="1.0.0" 34 35WORKDIR /app 36COPY --from=builder /app/target/release/acudo /app/acudo 37COPY --from=builder /app/static ./static 38 39ENV HTTP_STATIC_PATH=/app/static 40ENV HTTP_PORT=8080 41ENV RUST_LOG=info 42ENV RUST_BACKTRACE=full 43 44ENTRYPOINT ["/app/acudo"]