|
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"] |