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
59
fork

Configure Feed

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

[build] add dockerfile

dawn e7c8c5be cb911e4b

+53
+2
.dockerignore
··· 1 + target/ 2 + .cargo/config.toml
+51
Dockerfile
··· 1 + # syntax=docker/dockerfile:1 2 + 3 + # --- stage 1: dependency recipe --- 4 + FROM rust:slim-bookworm AS chef 5 + RUN cargo install cargo-chef --locked 6 + WORKDIR /build 7 + 8 + # --- stage 2: compute recipe --- 9 + FROM chef AS planner 10 + COPY . . 11 + RUN cargo chef prepare --recipe-path recipe.json 12 + 13 + # --- stage 3: build --- 14 + FROM chef AS builder 15 + 16 + RUN apt-get update && apt-get install -y --no-install-recommends \ 17 + cmake \ 18 + make \ 19 + pkg-config \ 20 + && rm -rf /var/lib/apt/lists/* 21 + 22 + # build dependencies first (cached layer) 23 + COPY --from=planner /build/recipe.json recipe.json 24 + RUN cargo chef cook --release --recipe-path recipe.json 25 + 26 + # build the project 27 + COPY . . 28 + RUN cargo build --release 29 + 30 + # --- stage 4: runtime --- 31 + FROM debian:bookworm-slim 32 + 33 + RUN apt-get update && apt-get install -y --no-install-recommends \ 34 + ca-certificates \ 35 + && rm -rf /var/lib/apt/lists/* 36 + 37 + RUN useradd --system --no-create-home --shell /usr/sbin/nologin hydrant 38 + 39 + COPY --from=builder /build/target/release/hydrant /usr/local/bin/hydrant 40 + 41 + # data volume for the fjall database 42 + VOLUME ["/data"] 43 + WORKDIR /data 44 + 45 + ENV HYDRANT_DATABASE_PATH=/data/hydrant.db 46 + 47 + EXPOSE 3000 48 + 49 + USER hydrant 50 + 51 + ENTRYPOINT ["/usr/local/bin/hydrant"]