FROM buildpack-deps:22.04-curl ENV DEBIAN_FRONTEND=noninteractive \ TZ=Asia/Ho_Chi_Minh \ PORT=7860 ENV HOME=/home/user ENV GO_VERSION=1.22.4 USER root RUN useradd -m -u 1000 user RUN apt-get update && apt-get install -y --no-install-recommends \ bash \ unzip \ git \ git-lfs \ curl \ sudo \ wget \ build-essential RUN wget -P /tmp "https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz" RUN tar -C /usr/local -xzf "/tmp/go${GO_VERSION}.linux-amd64.tar.gz" RUN rm "/tmp/go${GO_VERSION}.linux-amd64.tar.gz" WORKDIR $HOME ENV GOPATH $HOME/go ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH" RUN sudo apt update && sudo apt install -y \ cmake \ libgrpc-dev \ libabsl-dev \ make \ protobuf-compiler-grpc \ python3-grpc-tools RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.34.0 \ && go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@8ba23be9613c672d40ae261d2a1335d639bdd59b WORKDIR $HOME/app COPY --chown=user .env $HOME/app/.env RUN sudo chown user: $HOME/app RUN curl -Lo local-ai "https://github.com/mudler/LocalAI/releases/download/v2.19.4/local-ai-$(uname -s)-$(uname -m)" \ && chmod +x local-ai RUN sudo mkdir -p /models && sudo chown user: /models USER user EXPOSE $PORT CMD ["./local-ai", "run", "huggingface://bartowski/codegeex4-all-9b-GGUF/codegeex4-all-9b-Q6_K.gguf"]