Something went wrong. Try again.
jetstream v2 in zig stream.waow.tech
Something went wrong. Try again.
stream Dockerfile
1234567891011121314151617181920212223242526272829303132333435363738# multi-stage: compile inside x86_64 linux (glibc — matches the deploy# target; zstd/xxhash are vendored so no system dev packages are needed)FROM --platform=linux/amd64 debian:bookworm-slim AS builderRUN apt-get update && apt-get install -y --no-install-recommends curl xz-utils ca-certificates git \ && dpkg --compare-versions "$(dpkg-query -W -f='${Version}' ca-certificates)" ge 20250419~deb12u2 \ && rm -rf /var/lib/apt/lists/*RUN curl -fSL https://ziglang.org/download/0.17.1/zig-x86_64-linux-0.17.1.tar.xz -o /tmp/zig.tar.xz \ && echo "3581863e3cbcfd0fce0efc682ce7e9e93da96668a977791d356a26d2a7e9b17a /tmp/zig.tar.xz" | sha256sum --check \ && tar xJf /tmp/zig.tar.xz -C /opt && rm /tmp/zig.tar.xzENV PATH=/opt/zig-x86_64-linux-0.17.1:$PATHWORKDIR /build
# fetch dependencies first (cacheable — only changes with build.zig.zon)COPY build.zig build.zig.zon ./RUN zig build --fetch
COPY .git/ .git/COPY src/ src/RUN zig build -Doptimize=ReleaseSafe -Dcpu=baseline -Dtarget=x86_64-linux-gnu \ -Dbuild-date="$(git show -s --format=%cI HEAD)"
FROM --platform=linux/amd64 debian:bookworm-slimRUN apt-get update && apt-get install -y --no-install-recommends ca-certificates libcurl4 \ && dpkg --compare-versions "$(dpkg-query -W -f='${Version}' ca-certificates)" ge 20250419~deb12u2 \ && rm -rf /var/lib/apt/lists/*COPY --from=builder /build/zig-out/bin/stream /usr/local/bin/streamCOPY --from=builder /build/zig-out/bin/stream-tls-probe /usr/local/bin/stream-tls-probe# glibc arena fragmentation guard (docs/lessons-from-zlay.md #8);# helm values set it too — defense in depthENV MALLOC_ARENA_MAX=4# an explicit trim threshold also pins glibc's mmap threshold at 128 KiB, so# compaction's per-block zstd workspaces are mmapped and returned on free# instead of fragmenting the arenas (zlay runs the same pair)ENV MALLOC_TRIM_THRESHOLD_=131072EXPOSE 6008VOLUME /dataENTRYPOINT ["/usr/local/bin/stream"]