Spaces:
Paused
Paused
| FROM nvidia/cuda:12.8.1-cudnn-runtime-ubuntu24.04 | |
| ENV DEBIAN_FRONTEND=noninteractive | |
| RUN apt-get update -qq && \ | |
| apt-get autoremove -y -qq && \ | |
| apt-get install -y -qq apt-file \ | |
| vim \ | |
| wget \ | |
| git \ | |
| software-properties-common \ | |
| make \ | |
| g++ \ | |
| gcc \ | |
| gpg-agent && \ | |
| apt-get clean && rm -rf /var/cache/apt/archives /var/lib/apt/lists/* | |
| RUN useradd -m -u 1001 user && \ | |
| mkdir -p /home/user/.cache /home/user/.config /home/user/.local && \ | |
| chmod -R 777 /home/user && \ | |
| mkdir /mhd-demo && chown user:user /mhd-demo && chmod 777 /mhd-demo | |
| USER user | |
| ENV HOME=/home/user | |
| ENV PATH=/home/user/.local/bin:$PATH | |
| WORKDIR $HOME/app | |
| ENV CONDA_DIR=$HOME/conda | |
| ENV PATH=$CONDA_DIR/bin:$PATH | |
| RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh && \ | |
| /bin/bash ~/miniconda.sh -b -p $HOME/conda && \ | |
| rm ~/miniconda.sh && \ | |
| conda config --add channels conda-forge && \ | |
| conda config --set channel_priority strict && \ | |
| conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main && \ | |
| conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r && \ | |
| conda create -n env python=3.12 -y --quiet && \ | |
| conda run -n env conda env config vars set OMP_NUM_THREADS=1 && \ | |
| conda run -n env conda env config vars set NUMEXPR_MAX_THREADS=1 && \ | |
| conda run -n env conda install -c conda-forge dedalus jupyter jupyterlab torch hydra-core imageio -y --quiet | |
| ENV PATH=$HOME/conda/envs/env/bin:$PATH | |
| # # Copy all files at once | |
| COPY --chown=user on_startup.sh README.md start_server.sh requirements.txt ./ | |
| COPY --chown=user magnetohydrodynamics.ipynb mhd /mhd-demo/ | |
| RUN chmod +x start_server.sh && \ | |
| chmod -R 777 /mhd-demo/ | |
| EXPOSE 7860 | |
| CMD ["./start_server.sh"] | |