very fast at protocol indexer with flexible filtering, xrpc queries, cursor-backed event stream, and more, built on fjall
rust fjall at-protocol atproto indexer
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253# syntax=docker/dockerfile:1
# --- stage 1: dependency recipe ---FROM rust:slim-bookworm AS chefRUN cargo install cargo-chef --lockedWORKDIR /build
# --- stage 2: compute recipe ---FROM chef AS plannerCOPY . .RUN cargo chef prepare --recipe-path recipe.json
# --- stage 3: build ---FROM chef AS builder
RUN apt-get update && apt-get install -y --no-install-recommends \ cmake \ make \ pkg-config \ && rm -rf /var/lib/apt/lists/*
# build dependencies first (cached layer)COPY --from=planner /build/recipe.json recipe.jsonRUN cargo chef cook --release --recipe-path recipe.json
# build the projectCOPY . .RUN cargo build --release
# --- stage 4: runtime ---FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ && rm -rf /var/lib/apt/lists/*
RUN useradd --system --no-create-home --shell /usr/sbin/nologin hydrant
COPY --from=builder /build/target/release/hydrant /usr/local/bin/hydrant
# data volume for the fjall databaseRUN mkdir -p /data && chown -R hydrant:hydrant /dataVOLUME ["/data"]WORKDIR /data
ENV HYDRANT_DATABASE_PATH=/data/hydrant.db
EXPOSE 3000
USER hydrant
ENTRYPOINT ["/usr/local/bin/hydrant"]