QuickDID is a high-performance AT Protocol identity resolution service written in Rust. It provides handle-to-DID resolution with Redis-backed caching and queue processing.
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.lock Cargo.toml ./
11
12COPY src ./src
13RUN cargo build --bin quickdid --release
14
15FROM gcr.io/distroless/cc-debian12
16
17LABEL org.opencontainers.image.title="quickdid"
18LABEL org.opencontainers.image.description="A fast and scalable com.atproto.identity.resolveHandle service"
19LABEL org.opencontainers.image.licenses="MIT"
20LABEL org.opencontainers.image.authors="Nick Gerakines <nick.gerakines@gmail.com>"
21LABEL org.opencontainers.image.source="https://tangled.sh/@smokesignal.events/quickdid"
22LABEL org.opencontainers.image.version="1.0.0-rc.5"
23
24WORKDIR /app
25COPY --from=builder /app/target/release/quickdid /app/quickdid
26
27# Copy static files for serving
28COPY www /app/www
29
30ENV HTTP_PORT=8080
31ENV STATIC_FILES_DIR=/app/www
32ENV RUST_LOG=info
33ENV RUST_BACKTRACE=full
34
35ENTRYPOINT ["/app/quickdid"]