The smokesignal.events web application
at main 1.3 kB view raw
1# syntax=docker/dockerfile:1.4 2FROM rust:1.90-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 FEATURES=embed,s3 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 i18n ./i18n 22COPY ${TEMPLATES} ./templates 23COPY ${STATIC} ./static 24 25RUN cargo build --release --bin smokesignal --no-default-features --features ${FEATURES} 26 27FROM gcr.io/distroless/cc-debian12 28 29LABEL org.opencontainers.image.title="Smoke Signal" 30LABEL org.opencontainers.image.description="An event and RSVP management application." 31LABEL org.opencontainers.image.licenses="MIT" 32LABEL org.opencontainers.image.authors="Nick Gerakines <nick.gerakines@gmail.com>" 33LABEL org.opencontainers.image.source="https://tangled.sh/@smokesignal.events/smokesignal" 34LABEL org.opencontainers.image.version="1.0.2" 35 36WORKDIR /app 37COPY --from=builder /app/target/release/smokesignal /app/smokesignal 38COPY --from=builder /app/static ./static 39 40ENV HTTP_STATIC_PATH=/app/static 41ENV HTTP_PORT=8080 42ENV RUST_LOG=info 43ENV RUST_BACKTRACE=full 44 45ENTRYPOINT ["/app/smokesignal"]