pingnieuk commited on
Commit
5d1105d
1 Parent(s): 734aba6

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +23 -21
Dockerfile CHANGED
@@ -1,7 +1,7 @@
1
  FROM nvidia/cuda:11.3.1-base-ubuntu20.04
2
 
3
  ENV DEBIAN_FRONTEND=noninteractive \
4
- TZ=Europe/Paris
5
 
6
  # Remove any third-party apt sources to avoid issues with expiring keys.
7
  # Install some basic utilities
@@ -26,7 +26,7 @@ RUN add-apt-repository ppa:flexiondotorg/nvtop && \
26
  apt-get upgrade -y && \
27
  apt-get install -y --no-install-recommends nvtop
28
 
29
- RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - && \
30
  apt-get install -y nodejs && \
31
  npm install -g configurable-http-proxy
32
 
@@ -39,25 +39,27 @@ RUN adduser --disabled-password --gecos '' --shell /bin/bash user \
39
  RUN echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-user
40
  USER user
41
 
42
- # Change HOME to /data
43
- ENV HOME=/data
44
- RUN mkdir -p $HOME/.cache $HOME/.config \
45
  && chmod -R 777 $HOME
46
 
47
- # Ensure /data directory exists and is accessible
48
- USER root
49
- RUN mkdir -p /data && chown -R user:user /data
50
- USER user
51
-
52
- # Set up the Conda environment
53
  ENV CONDA_AUTO_UPDATE_CONDA=false \
54
- PATH=$HOME/miniconda/bin:$PATH
 
55
  RUN curl -sLo ~/miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh \
56
  && chmod +x ~/miniconda.sh \
57
- && ~/miniconda.sh -b -p $HOME/miniconda \
 
58
  && rm ~/miniconda.sh \
59
  && conda clean -ya
60
 
 
 
 
 
 
61
  WORKDIR $HOME/app
62
 
63
  #######################################
@@ -67,14 +69,14 @@ WORKDIR $HOME/app
67
  USER root
68
 
69
  # User Debian packages
70
- ## Security warning: Potential user code executed as root (build time)
71
  RUN --mount=target=/root/packages.txt,source=packages.txt \
72
  apt-get update && \
73
  xargs -r -a /root/packages.txt apt-get install -y --no-install-recommends \
74
  && rm -rf /var/lib/apt/lists/*
75
 
76
  RUN --mount=target=/root/on_startup.sh,source=on_startup.sh,readwrite \
77
- bash /root/on_startup.sh
78
 
79
  #######################################
80
  # End root user section
@@ -94,11 +96,11 @@ RUN chmod +x start_server.sh
94
  COPY --chown=user login.html /home/user/miniconda/lib/python3.9/site-packages/jupyter_server/templates/login.html
95
 
96
  ENV PYTHONUNBUFFERED=1 \
97
- GRADIO_ALLOW_FLAGGING=never \
98
- GRADIO_NUM_PORTS=1 \
99
- GRADIO_SERVER_NAME=0.0.0.0 \
100
- GRADIO_THEME=huggingface \
101
- SYSTEM=spaces \
102
- SHELL=/bin/bash
103
 
104
  CMD ["./start_server.sh"]
 
1
  FROM nvidia/cuda:11.3.1-base-ubuntu20.04
2
 
3
  ENV DEBIAN_FRONTEND=noninteractive \
4
+ TZ=Europe/Paris
5
 
6
  # Remove any third-party apt sources to avoid issues with expiring keys.
7
  # Install some basic utilities
 
26
  apt-get upgrade -y && \
27
  apt-get install -y --no-install-recommends nvtop
28
 
29
+ RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - && \
30
  apt-get install -y nodejs && \
31
  npm install -g configurable-http-proxy
32
 
 
39
  RUN echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-user
40
  USER user
41
 
42
+ # All users can use /home/user as their home directory
43
+ ENV HOME=/home/user
44
+ RUN mkdir $HOME/.cache $HOME/.config \
45
  && chmod -R 777 $HOME
46
 
47
+ # Set up the Conda environment in /data
 
 
 
 
 
48
  ENV CONDA_AUTO_UPDATE_CONDA=false \
49
+ CONDA_DIR=/data/miniconda \
50
+ PATH=$CONDA_DIR/bin:$PATH
51
  RUN curl -sLo ~/miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh \
52
  && chmod +x ~/miniconda.sh \
53
+ && mkdir -p $CONDA_DIR \
54
+ && ~/miniconda.sh -b -p $CONDA_DIR \
55
  && rm ~/miniconda.sh \
56
  && conda clean -ya
57
 
58
+ # Ensure /data directory exists and is accessible
59
+ USER root
60
+ RUN mkdir -p /data && chown -R user:user /data
61
+ USER user
62
+
63
  WORKDIR $HOME/app
64
 
65
  #######################################
 
69
  USER root
70
 
71
  # User Debian packages
72
+ ## Security warning : Potential user code executed as root (build time)
73
  RUN --mount=target=/root/packages.txt,source=packages.txt \
74
  apt-get update && \
75
  xargs -r -a /root/packages.txt apt-get install -y --no-install-recommends \
76
  && rm -rf /var/lib/apt/lists/*
77
 
78
  RUN --mount=target=/root/on_startup.sh,source=on_startup.sh,readwrite \
79
+ bash /root/on_startup.sh
80
 
81
  #######################################
82
  # End root user section
 
96
  COPY --chown=user login.html /home/user/miniconda/lib/python3.9/site-packages/jupyter_server/templates/login.html
97
 
98
  ENV PYTHONUNBUFFERED=1 \
99
+ GRADIO_ALLOW_FLAGGING=never \
100
+ GRADIO_NUM_PORTS=1 \
101
+ GRADIO_SERVER_NAME=0.0.0.0 \
102
+ GRADIO_THEME=huggingface \
103
+ SYSTEM=spaces \
104
+ SHELL=/bin/bash
105
 
106
  CMD ["./start_server.sh"]