FROM ubuntu:18.04 RUN apt-get update && apt-get install --no-install-recommends -y \ build-essential \ python3.8 \ python3-pip \ python3-setuptools \ git \ wget \ && apt-get clean && rm -rf /var/lib/apt/lists/* RUN apt-get update && apt-get install ffmpeg libsm6 libxext6 -y # RUN echo $(ls /run/secrets/) WORKDIR /code # COPY ./requirements.txt /code/requirements.txt # add conda RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -P /code/ RUN chmod 777 /code/Miniconda3-latest-Linux-x86_64.sh RUN /code/Miniconda3-latest-Linux-x86_64.sh -b -p /code/miniconda ENV PATH="/code/miniconda/bin:${PATH}" RUN groupadd miniconda RUN chgrp -R miniconda /code/miniconda/ RUN chmod 770 -R /code/miniconda/ # Set up a new user named "user" with user ID 1000 RUN useradd -m -u 1000 user RUN adduser user miniconda # 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 \ 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 RUN conda install python=3.8 RUN pip3 install setuptools-rust RUN conda install pillow -y # RUN pip3 install --no-cache-dir --upgrade -r /code/requirements.txt # RUN conda install -c pytorch pytorch==1.7.1 torchvision==0.8.2 # RUN pip install torchvision-cpu==0.8.2 RUN pip3 install torch==1.11.0+cu115 torchvision==0.12.0+cu115 --extra-index-url https://download.pytorch.org/whl/cu115 # WORKDIR /home/user # RUN git clone https://github.com/open-mmlab/mim.git RUN pip3 install openmim RUN conda install -c conda-forge gradio -y # RUN --mount=type=secret,id=git_token,mode=0444,required=true \ # echo $(https://$(cat /run/secrets/git_token)@github.com/NASA-IMPACT/hls-foundation-os.git) # # git clone https://$(cat /run/secrets/git_token)@github.com/NASA-IMPACT/hls-foundation-os.git WORKDIR /home/user RUN --mount=type=secret,id=git_token,mode=0444,required=true \ git clone https://$(cat /run/secrets/git_token)@github.com/NASA-IMPACT/hls-foundation-os.git@mmseg-only WORKDIR hls-foundation-os RUN pip3 install -e . # RUN --mount=type=secret,id=git_token,mode=0444,required=true \ # pip3 install git+https://$(cat /run/secrets/git_token)@github.com/NASA-IMPACT/hls-foundation-os.git@mmseg-only # RUN mim install mmcv-full==1.5.0 RUN mim install mmcv-full==1.6.2 -f https://download.openmmlab.com/mmcv/dist/11.5/1.11.0/index.html # 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 ["python3", "app.py"]