Spaces:
Runtime error
Runtime error
| FROM nvidia/cuda:11.1.1-cudnn8-devel-ubuntu18.04 | |
| # Basic tools installation | |
| RUN apt-get update && \ | |
| apt-get upgrade -y && \ | |
| apt-get install -y vim git zip unzip wget mc tmux nano build-essential rsync libgl1 curl | |
| # Install MegaCMD from a pre-downloaded package | |
| COPY megacmd-xUbuntu_18.04_amd64.deb /tmp/ | |
| RUN apt install -y /tmp/megacmd-xUbuntu_18.04_amd64.deb && \ | |
| rm /tmp/megacmd-xUbuntu_18.04_amd64.deb | |
| # Set up non-root user | |
| ARG USERNAME=user | |
| RUN apt-get install -y sudo && \ | |
| addgroup --gid 1000 $USERNAME && \ | |
| adduser --uid 1000 --gid 1000 --disabled-password --gecos '' $USERNAME && \ | |
| adduser $USERNAME sudo && \ | |
| echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \ | |
| USER=$USERNAME && \ | |
| GROUP=$USERNAME | |
| USER $USERNAME:$USERNAME | |
| WORKDIR "/home/$USERNAME" | |
| ENV PATH="/home/$USERNAME/miniconda3/bin:/home/$USERNAME/.local/bin:${PATH}" | |
| # Install Miniconda | |
| RUN wget -O /tmp/miniconda.sh https://repo.anaconda.com/miniconda/Miniconda3-py39_4.9.2-Linux-x86_64.sh && \ | |
| echo "536817d1b14cb1ada88900f5be51ce0a5e042bae178b5550e62f61e223deae7c /tmp/miniconda.sh" > /tmp/miniconda.sh.sha256 && \ | |
| sha256sum --check --status < /tmp/miniconda.sh.sha256 && \ | |
| bash /tmp/miniconda.sh -bt -p "/home/$USERNAME/miniconda3" && \ | |
| rm /tmp/miniconda.sh && \ | |
| conda build purge && \ | |
| conda init | |
| # Install Mamba for faster environment management | |
| RUN conda install -n base --override-channels -c conda-forge mamba 'python_abi=*=*cp*' | |
| ENV TORCH_HOME="/home/$USERNAME/.torch" | |
| # Clone repositories | |
| RUN git clone --recursive https://github.com/Er0manga/Er0mangaSeg.git | |
| RUN git clone --recursive https://github.com/Er0manga/Er0mangaInpaint.git | |
| # Download pretrained models using MegaCMD (retry mechanism added) | |
| RUN mega-login && \ | |
| mega-get "https://mega.nz/file/NNQTgR4Q#MuqoCZACOc9pBZ5BzafszLqa0MEnI65KJx4PXqgjV-k" "/home/$USERNAME/Er0mangaSeg/pretrained/" || \ | |
| echo "Retrying download..." && \ | |
| mega-get "https://mega.nz/file/NNQTgR4Q#MuqoCZACOc9pBZ5BzafszLqa0MEnI65KJx4PXqgjV-k" "/home/$USERNAME/Er0mangaSeg/pretrained/" | |
| RUN mega-get "https://mega.nz/file/gRYn2CBJ#HZ73lqn5noX_t2eyfIaDk7sIDfnGQ9gBwClJ6O3VdTE" "/home/$USERNAME/Er0mangaInpaint/pretrained/" || \ | |
| echo "Retrying download..." && \ | |
| mega-get "https://mega.nz/file/gRYn2CBJ#HZ73lqn5noX_t2eyfIaDk7sIDfnGQ9gBwClJ6O3VdTE" "/home/$USERNAME/Er0mangaInpaint/pretrained/" | |
| RUN unzip "/home/$USERNAME/Er0mangaInpaint/pretrained/00-30-09.zip" -d "/home/$USERNAME/Er0mangaInpaint/pretrained/" | |
| # Create Conda environment | |
| RUN mamba env create -f "/home/$USERNAME/Er0mangaSeg/env.yml" | |
| # Prepare app directory | |
| RUN mkdir "/home/$USERNAME/app.py" | |
| COPY entrypoint.sh "/home/$USERNAME/" | |
| EXPOSE 7860 | |
| ENTRYPOINT ["/bin/bash", "/home/user/entrypoint.sh"] | |