FROM node:26@sha256:e3ffe0cbaeebdcddbfe1ee7bca9b564a92863a8386d5b99a3d72677b3667b61d AS ui-builder RUN npm install --global yarn@1.22.22 COPY quickwit/quickwit-ui /quickwit/quickwit-ui WORKDIR /quickwit/quickwit-ui RUN touch .gitignore_for_build_directory \ && NODE_ENV=production make install build FROM rust:bookworm@sha256:b5efaabfd787a695d2e46b37d3d9c54040e11f4c10bc2e714bbadbfcc0cd6c39 AS bin-builder ARG CARGO_FEATURES=release-feature-set ARG CARGO_PROFILE=release ARG QW_COMMIT_DATE ARG QW_COMMIT_HASH ARG QW_COMMIT_TAGS ARG LAMBDA_ZIP_PATH ENV QW_COMMIT_DATE=$QW_COMMIT_DATE ENV QW_COMMIT_HASH=$QW_COMMIT_HASH ENV QW_COMMIT_TAGS=$QW_COMMIT_TAGS ENV LAMBDA_ZIP_PATH=$LAMBDA_ZIP_PATH RUN apt-get -y update \ && apt-get -y install ca-certificates \ clang \ cmake \ libssl-dev \ llvm \ protobuf-compiler \ && rm -rf /var/lib/apt/lists/* COPY quickwit /quickwit COPY config/quickwit.yaml /quickwit/config/quickwit.yaml COPY --from=ui-builder /quickwit/quickwit-ui/build /quickwit/quickwit-ui/build WORKDIR /quickwit RUN rustup toolchain install RUN echo "Building workspace with feature(s) '$CARGO_FEATURES' and profile '$CARGO_PROFILE'" \ && RUSTFLAGS="--cfg tokio_unstable" \ cargo build \ -p quickwit-cli \ --features $CARGO_FEATURES \ --bin quickwit \ $(test "$CARGO_PROFILE" = "release" && echo "--release") \ && echo "Copying binaries to /quickwit/bin" \ && mkdir -p /quickwit/bin \ && find target/$CARGO_PROFILE -maxdepth 1 -perm /a+x -type f -exec mv {} /quickwit/bin \; FROM debian:bookworm-slim@sha256:7ff6ba31527b9e336162fa061746c366c4b2032f4d2cff2078bea43f78efe3f8 AS quickwit LABEL org.opencontainers.image.title="Quickwit" LABEL maintainer="Quickwit, Inc. " LABEL org.opencontainers.image.vendor="Quickwit, Inc." LABEL org.opencontainers.image.licenses="Apache-2.0" RUN apt-get -y update \ && apt-get -y install ca-certificates \ libssl3 \ && rm -rf /var/lib/apt/lists/* WORKDIR /quickwit RUN mkdir config qwdata COPY --from=bin-builder /quickwit/bin/quickwit /usr/local/bin/quickwit COPY --from=bin-builder /quickwit/config/quickwit.yaml /quickwit/config/quickwit.yaml ENV QW_CONFIG=/quickwit/config/quickwit.yaml ENV QW_DATA_DIR=/quickwit/qwdata ENV QW_LISTEN_ADDRESS=0.0.0.0 RUN quickwit --version ENTRYPOINT ["quickwit"]