| FROM nvidia/cuda:11.3.1-cudnn8-devel-ubuntu18.04 |
| RUN useradd -m -u 1000 user |
| WORKDIR /home/user/app |
| ENV DEBIAN_FRONTEND=noninteractive |
| RUN apt-get update && apt-get install -y \ |
| git make build-essential zlib1g-dev \ |
| libsqlite3-dev wget llvm libncursesw5-dev xz-utils tk-dev libxml2-dev \ |
| libxmlsec1-dev libffi-dev liblzma-dev git-lfs ffmpeg libsm6 libxext6 cmake \ |
| libgl1-mesa-glx curl nginx espeak-ng openssl libssl-dev libbz2-dev \ |
| libncurses5-dev libreadline-dev \ |
| vim lynx netcat haproxy net-tools \ |
| && rm -rf /var/lib/apt/lists/* && git lfs install |
|
|
| RUN wget https://github.com/tsl0922/ttyd/releases/download/1.7.3/ttyd.x86_64 -O /usr/local/bin/ttyd && \ |
| chmod 755 /usr/local/bin/ttyd |
|
|
| RUN chown -R 1000 /var/log/nginx/ /var/lib/nginx/ /run/ |
| USER user |
| ENV HOME /home/user |
| ENV PYENV_ROOT $HOME/.pyenv |
| ENV PATH $PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH |
|
|
| RUN git clone https://github.com/yyuu/pyenv.git $HOME/.pyenv |
| |
| RUN pyenv install 3.8.9 && pyenv global 3.8.9 && pyenv rehash && \ |
| pip install --no-cache-dir --upgrade pip setuptools wheel && \ |
| pip install --no-cache-dir datasets huggingface-hub "protobuf<4" "click<8.1" |
| COPY --chown=user:user ./requirements.txt /home/user/requirements.txt |
| RUN pip install --no-cache-dir --upgrade -r /home/user/requirements.txt |
| COPY --chown=user:user ./app /home/user/app |
| COPY ./default /etc/nginx/sites-available |
| COPY --chown=user:user ./htpasswd /etc/nginx |
| EXPOSE 7860 |
| CMD ["/bin/sh", "/home/user/app/start.sh"] |
|
|