STLA-BABY / Dockerfile
OuroborosM's picture
update dependency
0449277
# read the doc: https://huggingface.co/docs/hub/spaces-sdks-docker
# you will also find guides on how best to write your Dockerfile
FROM python:3.10
WORKDIR /code
# ENV PIP_TARGET=/home/user/app/pip
# ENV PYTHONPATH=${PYTHONPATH}:${PIP_TARGET}
# RUN python -m venv /home/user/app/venv
# ENV PATH="/home/user/app/bin:$PATH"
COPY ./requirements.txt /code/requirements.txt
RUN pip install --no-cache-dir --upgrade pip
# RUN pip install --no-cache-dir lit
# Install playsound separately with the --no-build-isolation flag
# RUN pip install --no-cache-dir --no-build-isolation playsound
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
RUN wget -O - https://www.openssl.org/source/openssl-1.1.1u.tar.gz | tar zxf - \
&& cd openssl-1.1.1u \
&& ./config --prefix=/usr/local \
&& make -j $(nproc) \
make install_sw install_ssldirs \
ldconfig -v
ENV SSL_CERT_DIR=/usr/lib/ssl/certs
ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
# Access for folder
ENV TORCH_HOME /home/user/app
# RUN mkdir -p /home/user/torchcache && chmod -R u+rwx /home/user/torchcache
# ENV TORCH_HOME /home/user/.cache/torch
RUN mkdir -p /home/user/.cache/torch && chmod -R u+rwx /home/user/.cache/torch
RUN mkdir -p /home/user/.cache/torch/sentence_transformers && \
chmod -R u+rwx /home/user/.cache/torch/sentence_transformers
RUN mkdir -p /home/user/.cache/torch/sentence_transformers/sentence-transformers_all-MiniLM-L6-v2 && \
chmod -R u+rwx /home/user/.cache/torch/sentence_transformers/sentence-transformers_all-MiniLM-L6-v2
RUN mkdir -p /home/user/app/datasets &&\
chmod -R 777 /home/user/app/datasets
RUN mkdir -p /home/user/app/datasets/downloads &&\
chmod -R 777 /home/user/app/datasets/downloads
RUN mkdir -p /home/user/app/cache &&\
chmod -R 777 /home/user/app/cache
RUN mkdir -p /home/user/app &&\
chmod -R 777 /home/user/app
# RUN mkdir -p /home/user/.cache/torch/sentence_transformers/sentence-transformers_all-MiniLM-L6-v2/.gitattributes.lock && \
# chmod -R u+rwx /home/user/.cache/torch/sentence_transformers/sentence-transformers_all-MiniLM-L6-v2/.gitattributes.lock
# RUN mkdir -p /home/user/.cache/torch && chmod -R u+rwx /home/user/.cache/torch
RUN mkdir -p /home/user/matplotlib && chmod -R u+rwx /home/user/matplotlib
RUN apt-get update
RUN apt-get install build-essential libssl-dev ca-certificates libasound2 wget
RUN apt-get install -y ffmpeg
RUN apt-get install -y graphviz
RUN python -m playwright install-deps
RUN PLAYWRIGHT_BROWSERS_PATH=/home/user/app/ms-playwright python -m playwright install chromium
# RUN apt-get update && \
# apt-get install -y build-essential libssl-dev ca-certificates libasound2 wget && \
# wget -O - https://www.openssl.org/source/openssl-1.1.1u.tar.gz | tar zxf - && \
# cd openssl-1.1.1u && \
# ./config --prefix=/usr/local && \
# make -j $(nproc) && \
# make install_sw install_ssldirs && \
# ldconfig -v && \
# export SSL_CERT_DIR=/etc/ssl/certs && \
# cd ../ && \
# rm -rf openssl-1.1.1u && \
# pip install --no-cache-dir azure-cognitiveservices-speech==1.30.0 \
# export SSL_CERT_DIR=/usr/lib/ssl/certs
# Set up a new user named "user" with user ID 1000
RUN useradd -m -u 1000 user
# Switch to the "user" user
USER user
# Set home to the user's home directory
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
# RUN mkdir -p /home/user/.cache/torch && \
# chown -R user:user /home/user/.cache
# Set the working directory to the user's home directory
WORKDIR $HOME/app
# Copy the current directory contents into the container at $HOME/app setting the owner to the user
COPY --chown=user . $HOME/app
CMD ["python", "app.py"]