|
|
|
|
|
|
|
|
|
ARG TAG=latest |
|
FROM continuumio/miniconda3:$TAG |
|
|
|
RUN apt-get update \ |
|
&& DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends \ |
|
git \ |
|
locales \ |
|
sudo \ |
|
build-essential \ |
|
dpkg-dev \ |
|
wget \ |
|
openssh-server \ |
|
nano \ |
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
|
|
RUN locale-gen en_US.UTF-8 |
|
ENV LANG en_US.UTF-8 |
|
|
|
|
|
|
|
EXPOSE 22/tcp |
|
RUN service ssh start |
|
|
|
|
|
|
|
RUN groupadd --gid 1020 llama-cpp-group |
|
RUN useradd -rm -d /home/llama-cpp-user -s /bin/bash -G users,sudo,llama-cpp-group -u 1000 llama-cpp-user |
|
|
|
# Update user password |
|
RUN echo 'llama-cpp-user:admin' | chpasswd |
|
|
|
|
|
RUN conda update conda -y |
|
|
|
|
|
RUN conda create -n llamacpp -y python=3.10.6 |
|
|
|
|
|
RUN chown -R llama-cpp-user:users /opt/conda |
|
|
|
|
|
RUN su - llama-cpp-user -c "conda init bash" |
|
|
|
|
|
RUN su - llama-cpp-user -c "git clone https://github.com/ggerganov/llama.cpp.git ~/llama.cpp \ |
|
&& cd ~/llama.cpp \ |
|
&& make " |
|
|
|
|
|
RUN su - llama-cpp-user -c "cd ~/llama.cpp \ |
|
&& conda activate llamacpp \ |
|
&& python3 -m pip install -r requirements.txt " |
|
|
|
|
|
RUN su - llama-cpp-user -c "https://github.com/facebookresearch/llama.git ~/llama \ |
|
&& cd ~/llama \ |
|
&& ./download.sh " |
|
|
|
|
|
|
|
|
|
|
|
|
|
ENV HOME /home/llama-cpp-user |
|
WORKDIR ${HOME}/llama.cpp |
|
USER llama-cpp-user |
|
CMD ["/bin/bash"] |