# read the doc: https://huggingface.co/docs/hub/spaces-sdks-docker # you will also find guides on how best to write your Dockerfile FROM continuumio/anaconda3:2024.02-1 WORKDIR /code COPY ./requirements.txt /code/requirements.txt RUN apt-get update RUN apt-get install gcc -y RUN pip install -r /code/requirements.txt RUN conda install pytorch::faiss-gpu --yes # Download foldseek RUN wget 'https://drive.usercontent.google.com/download?id=1B_9t3n_nlj8Y3Kpc_mMjtMdY0OPYa7Re&export=download&authuser=0' -O /tmp/foldseek RUN chmod +x /tmp/foldseek # Download TMalign RUN wget 'https://drive.google.com/file/d/1waxLyL2MLCxyHyIlQe7zkeHy8lzuDThu/view?usp=sharing' -O /tmp/TMalign RUN chmod +x /tmp/TMalign # Download ProTrek model RUN huggingface-cli download westlake-repl/ProTrek_650M_UniRef50 --repo-type model --local-dir /data/ProTrek_650M_UniRef50 RUN ls /data # Download ProTrek faiss index RUN huggingface-cli download westlake-repl/ProTrek-faiss-index --repo-type dataset --local-dir /data/ProTrek-faiss-index --include "ProTrek_650M_UniRef50/Swiss-Prot/*" RUN ls /data # Set up a new user named "user" with user ID 1000 RUN useradd -m -u 1000 user # Set home to the user's home directory ENV HOME=/home/user \ PYTHONPATH=$HOME/app \ PYTHONUNBUFFERED=1 \ GRADIO_ALLOW_FLAGGING=never \ GRADIO_NUM_PORTS=1 \ GRADIO_SERVER_NAME=0.0.0.0 \ GRADIO_THEME=huggingface \ SYSTEM=spaces # 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 #COPY . . CMD ["python", "run.py"]