atproto blogging
1# Build stage
2FROM rust:1.91-trixie AS builder
3
4WORKDIR /build
5
6# Install build dependencies
7RUN apt-get update && apt-get install -y \
8 pkg-config \
9 libssl-dev \
10 && rm -rf /var/lib/apt/lists/*
11
12# Copy workspace files
13COPY Cargo.toml Cargo.lock ./
14COPY crates ./crates
15
16# Build release binary
17RUN cargo build --release -p weaver-index --bin indexer
18
19# Runtime stage
20FROM debian:trixie-slim
21
22RUN apt-get update && apt-get install -y \
23 ca-certificates \
24 libssl3 \
25 && rm -rf /var/lib/apt/lists/*
26
27WORKDIR /app
28
29# Copy binary from builder
30COPY --from=builder /build/target/release/indexer /app/indexer
31
32# Default environment variables
33ENV RUST_LOG=info
34ENV RUST_BACKTRACE=1
35ENV CLICKHOUSE_URL=http://clickhouse:8123
36ENV CLICKHOUSE_DATABASE=default
37
38# Run the indexer
39ENTRYPOINT ["/app/indexer"]