NitinBot002 commited on
Commit
c5092b6
·
verified ·
1 Parent(s): c30bceb

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +17 -11
Dockerfile CHANGED
@@ -1,8 +1,10 @@
 
1
  FROM codercom/code-server:latest
2
 
 
3
  USER root
4
 
5
- # Install Python dev tools, Node.js, and useful CLI packages
6
  RUN apt-get update && \
7
  apt-get install -y \
8
  python3-pip \
@@ -20,19 +22,20 @@ RUN apt-get update && \
20
  xz-utils \
21
  openssh-client \
22
  lsb-release \
23
- software-properties-common \
24
- && curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
25
- && apt-get install -y nodejs \
26
- && npm install -g npm yarn \
27
- && apt-get clean && rm -rf /var/lib/apt/lists/*
28
 
29
- # Upgrade pip and install Python packages
30
- RUN pip3 install --no-cache-dir --upgrade pip setuptools wheel \
31
- && pip3 install ipython virtualenv jupyter
32
 
33
- # Create coder user project directory
34
  RUN mkdir -p /home/coder/project && chown -R coder:coder /home/coder/project
35
 
 
36
  USER coder
37
 
38
  # Set environment variables
@@ -40,7 +43,7 @@ ENV PASSWORD=hfspacespassword \
40
  PORT=7860 \
41
  HOME=/home/coder
42
 
43
- # Configure code-server
44
  RUN mkdir -p ~/.config/code-server && \
45
  echo '{ \
46
  "bind-addr": "0.0.0.0:7860", \
@@ -49,8 +52,11 @@ RUN mkdir -p ~/.config/code-server && \
49
  "cert": false \
50
  }' > ~/.config/code-server/config.json
51
 
 
52
  WORKDIR /home/coder/project
53
 
 
54
  EXPOSE 7860
55
 
 
56
  CMD ["code-server", "--port", "7860", "/home/coder/project"]
 
1
+ # Use official code-server base image
2
  FROM codercom/code-server:latest
3
 
4
+ # Switch to root user for installing system packages
5
  USER root
6
 
7
+ # Update apt and install all required dependencies
8
  RUN apt-get update && \
9
  apt-get install -y \
10
  python3-pip \
 
22
  xz-utils \
23
  openssh-client \
24
  lsb-release \
25
+ software-properties-common && \
26
+ curl -fsSL https://deb.nodesource.com/setup_18.x | bash - && \
27
+ apt-get install -y nodejs && \
28
+ npm install -g npm yarn && \
29
+ apt-get clean && rm -rf /var/lib/apt/lists/*
30
 
31
+ # Install Python packages with pip (bypassing PEP 668 restrictions)
32
+ RUN pip3 install --break-system-packages --no-cache-dir --upgrade pip setuptools wheel && \
33
+ pip3 install --break-system-packages ipython virtualenv jupyter
34
 
35
+ # Create a project directory and assign ownership to coder user
36
  RUN mkdir -p /home/coder/project && chown -R coder:coder /home/coder/project
37
 
38
+ # Switch back to coder user
39
  USER coder
40
 
41
  # Set environment variables
 
43
  PORT=7860 \
44
  HOME=/home/coder
45
 
46
+ # Create code-server config directory and file
47
  RUN mkdir -p ~/.config/code-server && \
48
  echo '{ \
49
  "bind-addr": "0.0.0.0:7860", \
 
52
  "cert": false \
53
  }' > ~/.config/code-server/config.json
54
 
55
+ # Set the working directory
56
  WORKDIR /home/coder/project
57
 
58
+ # Expose the port for Hugging Face Space
59
  EXPOSE 7860
60
 
61
+ # Start code-server
62
  CMD ["code-server", "--port", "7860", "/home/coder/project"]