3v324v23 commited on
Commit
566e936
·
1 Parent(s): 02f657c

dark and sudo fixed

Browse files
Files changed (2) hide show
  1. .history/Dockerfile_20240520143349 +109 -0
  2. Dockerfile +8 -0
.history/Dockerfile_20240520143349 ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM nvidia/cuda:11.3.1-base-ubuntu20.04
2
+
3
+ ENV DEBIAN_FRONTEND=noninteractive TZ=Europe/Paris
4
+
5
+ # Remove any third-party apt sources to avoid issues with expiring keys.
6
+ # Install some basic utilities
7
+ RUN rm -f /etc/apt/sources.list.d/*.list && \
8
+ apt-get update && apt-get install -y --no-install-recommends \
9
+ curl \
10
+ ca-certificates \
11
+ sudo \
12
+ git \
13
+ git-lfs \
14
+ zip \
15
+ unzip \
16
+ htop \
17
+ bzip2 \
18
+ libx11-6 \
19
+ build-essential \
20
+ libsndfile-dev \
21
+ software-properties-common \
22
+ openssh-server \
23
+ && rm -rf /var/lib/apt/lists/*
24
+
25
+ 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
+
33
+ # Create a working directory
34
+ WORKDIR /app
35
+
36
+ # Create a non-root user and switch to it
37
+ RUN adduser --disabled-password --gecos '' --shell /bin/bash user \
38
+ && chown -R user:user /app
39
+ RUN echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-user
40
+
41
+ # Enable sudo for user
42
+ RUN chmod 4755 /usr/bin/sudo
43
+
44
+ USER user
45
+
46
+ # All users can use /home/user as their home directory
47
+ ENV HOME=/home/user
48
+ RUN mkdir $HOME/.cache $HOME/.config \
49
+ && chmod -R 777 $HOME
50
+
51
+ # Set up the Conda environment
52
+ ENV CONDA_AUTO_UPDATE_CONDA=false \
53
+ PATH=$HOME/miniconda/bin:$PATH
54
+ RUN curl -sLo ~/miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh \
55
+ && chmod +x ~/miniconda.sh \
56
+ && ~/miniconda.sh -b -p ~/miniconda \
57
+ && rm ~/miniconda.sh \
58
+ && conda clean -ya
59
+
60
+ WORKDIR $HOME/app
61
+
62
+ #######################################
63
+ # Start root user section
64
+ #######################################
65
+
66
+ USER root
67
+
68
+ # User Debian packages
69
+ ## Security warning : Potential user code executed as root (build time)
70
+ RUN --mount=target=/root/packages.txt,source=packages.txt \
71
+ apt-get update && \
72
+ xargs -r -a /root/packages.txt apt-get install -y --no-install-recommends \
73
+ && rm -rf /var/lib/apt/lists/*
74
+
75
+ RUN --mount=target=/root/on_startup.sh,source=on_startup.sh,readwrite \
76
+ bash /root/on_startup.sh
77
+
78
+ RUN mkdir /data && chown user:user /data
79
+
80
+ #######################################
81
+ # End root user section
82
+ #######################################
83
+
84
+ USER user
85
+
86
+ # Python packages
87
+ RUN --mount=target=requirements.txt,source=requirements.txt \
88
+ pip install --no-cache-dir --upgrade -r requirements.txt
89
+
90
+ # Copy the current directory contents into the container at $HOME/app setting the owner to the user
91
+ COPY --chown=user . $HOME/app
92
+
93
+ RUN chmod +x start_server.sh
94
+
95
+ COPY --chown=user login.html /home/user/miniconda/lib/python3.9/site-packages/jupyter_server/templates/login.html
96
+
97
+ # Set dark theme for JupyterLab
98
+ RUN mkdir -p $HOME/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/ && \
99
+ echo '{ "theme": "JupyterLab Dark" }' > $HOME/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/themes.jupyterlab-settings
100
+
101
+ ENV PYTHONUNBUFFERED=1 \
102
+ GRADIO_ALLOW_FLAGGING=never \
103
+ GRADIO_NUM_PORTS=1 \
104
+ GRADIO_SERVER_NAME=0.0.0.0 \
105
+ GRADIO_THEME=huggingface \
106
+ SYSTEM=spaces \
107
+ SHELL=/bin/bash
108
+
109
+ CMD ["./start_server.sh"]
Dockerfile CHANGED
@@ -37,6 +37,10 @@ WORKDIR /app
37
  RUN adduser --disabled-password --gecos '' --shell /bin/bash user \
38
  && chown -R user:user /app
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
@@ -90,6 +94,10 @@ RUN chmod +x start_server.sh
90
 
91
  COPY --chown=user login.html /home/user/miniconda/lib/python3.9/site-packages/jupyter_server/templates/login.html
92
 
 
 
 
 
93
  ENV PYTHONUNBUFFERED=1 \
94
  GRADIO_ALLOW_FLAGGING=never \
95
  GRADIO_NUM_PORTS=1 \
 
37
  RUN adduser --disabled-password --gecos '' --shell /bin/bash user \
38
  && chown -R user:user /app
39
  RUN echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-user
40
+
41
+ # Enable sudo for user
42
+ RUN chmod 4755 /usr/bin/sudo
43
+
44
  USER user
45
 
46
  # All users can use /home/user as their home directory
 
94
 
95
  COPY --chown=user login.html /home/user/miniconda/lib/python3.9/site-packages/jupyter_server/templates/login.html
96
 
97
+ # Set dark theme for JupyterLab
98
+ RUN mkdir -p $HOME/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/ && \
99
+ echo '{ "theme": "JupyterLab Dark" }' > $HOME/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/themes.jupyterlab-settings
100
+
101
  ENV PYTHONUNBUFFERED=1 \
102
  GRADIO_ALLOW_FLAGGING=never \
103
  GRADIO_NUM_PORTS=1 \