| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | 
							- FROM rust:1.71-bullseye as builder
 
- WORKDIR /usr/src/kuberian
 
- # Install intel-mkl
 
- RUN wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \
 
-     | gpg --dearmor | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null && \
 
-     echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | \
 
-     tee /etc/apt/sources.list.d/oneAPI.list
 
- RUN apt update
 
- RUN apt install -y intel-oneapi-mkl-devel libomp-dev
 
- # Make cache layers
 
- COPY Cargo.toml .
 
- COPY ci src/
 
- RUN cargo build -r -F mkl
 
- RUN rm -rf src
 
- # Build final binaries
 
- COPY . .
 
- # to make sure that cargo recompile the kuberian
 
- RUN touch src/* 
 
- RUN cargo install --path . -F mkl
 
- # Downloads Embedding Models or ETC
 
- ENV HF_HOME=/model
 
- ADD https://s3.iwanhae.kr/kuberian/kuberian.db ./kuberian.db
 
- ADD https://s3.iwanhae.kr/kuberian/kuberian.usearch ./kuberian.usearch
 
- RUN kuberian --ci
 
- FROM debian:11 as sqlite-fetcher
 
- RUN apt update
 
- RUN apt-get install -y sqlite3
 
- FROM gcr.io/distroless/cc-debian11
 
- WORKDIR /app
 
- COPY --from=sqlite-fetcher /usr/lib/x86_64-linux-gnu/libsqlite3.so.* /usr/lib/
 
- COPY --from=builder /opt/intel/oneapi/compiler/latest/linux/compiler/lib/intel64_lin/libiomp5.so /usr/lib/
 
- COPY --from=builder /model /model
 
- COPY --from=builder /usr/local/cargo/bin/kuberian /usr/local/bin/kuberian
 
- COPY --from=builder /usr/src/kuberian/kuberian.db ./kuberian.db
 
- COPY --from=builder /usr/src/kuberian/kuberian.usearch ./kuberian.usearch
 
- EXPOSE 8080
 
- ENV HF_HOME=/model
 
- CMD ["kuberian"]
 
 
  |