~james/core

core/bobbin/containerfiles/hydrant.Containerfile -rw-r--r-- 1.1 KiB
452f17b7 — james chore(import): snapshot james.dad.town/core at f70c71c7696a 16 hours ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
FROM alpine:3.22 AS source
ARG HYDRANT_REPO=https://tangled.org/ptr.pet/hydrant.git
ARG HYDRANT_REF=main
RUN apk add --no-cache git \
    && git clone --depth 1 --branch "$HYDRANT_REF" "$HYDRANT_REPO" /hydrant

FROM rust:1.96-slim-trixie AS builder
RUN apt-get update && apt-get install -y --no-install-recommends \
      ca-certificates pkg-config perl make cmake clang mold \
    && rm -rf /var/lib/apt/lists/*
ENV RUSTFLAGS="-C linker=clang -C link-arg=-fuse-ld=mold"
WORKDIR /src
COPY --from=source /hydrant ./
# remove hydrants wild linker config
RUN rm -f .cargo/config.toml
RUN --mount=type=cache,target=/usr/local/cargo/registry \
    --mount=type=cache,target=/src/target \
    cargo build --release --bin hydrant --features jetstream,tangled-event && \
    strip target/release/hydrant && \
    cp target/release/hydrant /usr/local/bin/hydrant

FROM debian:trixie-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
      ca-certificates \
    && rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/local/bin/hydrant /usr/local/bin/hydrant
ENV HYDRANT_DATABASE_PATH=/var/lib/hydrant
EXPOSE 3000
ENTRYPOINT ["/usr/local/bin/hydrant"]