File size: 2,064 Bytes
5af1287 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
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
WORKDIR /code
# 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 torch==1.11.0+cu115 torchvision==0.12.0+cu115 --extra-index-url https://download.pytorch.org/whl/cu115
RUN pip3 install openmim
RUN conda install -c conda-forge gradio -y
WORKDIR /home/user
RUN --mount=type=secret,id=git_token,mode=0444,required=true \
git clone --branch mmseg-only https://$(cat /run/secrets/git_token)@github.com/NASA-IMPACT/hls-foundation-os.git
WORKDIR hls-foundation-os
RUN pip3 install -e .
RUN mim install mmcv-full==1.6.2 -f https://download.openmmlab.com/mmcv/dist/11.5/1.11.0/index.html
RUN pip3 install rasterio scikit-image
# Set the working directory to the user's home directory
WORKDIR $HOME/app
ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/code/miniconda/lib"
# 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"] |