ykxVK8yL5L commited on
Commit
79f3a59
·
verified ·
1 Parent(s): 8e8da1f

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +83 -0
Dockerfile ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Use Python 3.9 as the base image
2
+ FROM python:3.9
3
+
4
+ # Set environment variables
5
+ ENV DEBIAN_FRONTEND=noninteractive
6
+
7
+ # Install necessary packages
8
+ RUN apt-get update && \
9
+ apt-get install -y \
10
+ curl \
11
+ sudo \
12
+ build-essential \
13
+ default-jdk \
14
+ default-jre \
15
+ g++ \
16
+ gcc \
17
+ libzbar0 \
18
+ fish \
19
+ ffmpeg \
20
+ nmap \
21
+ ca-certificates \
22
+ zsh \
23
+ rclone
24
+
25
+
26
+ # Install Node.js (LTS version)
27
+ RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - && \
28
+ apt-get install -y nodejs
29
+
30
+ RUN npm install -g [email protected] pm2 ts-node
31
+
32
+
33
+ # Install code-server
34
+ RUN curl -fsSL https://code-server.dev/install.sh | sh -s -- --version=4.23.0-rc.2
35
+
36
+ # Install ollama
37
+ RUN curl -fsSL https://ollama.com/install.sh | sh
38
+
39
+ # Create a user to run code-server
40
+ RUN useradd -m -s /bin/zsh coder && \
41
+ echo 'coder ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
42
+
43
+ # Create code-server configuration directory
44
+ RUN mkdir -p /home/coder/.local/share/code-server/User
45
+ RUN chmod -R 777 /home/coder
46
+
47
+ # Add settings.json to enable dark mode
48
+ RUN echo '{ \
49
+ "workbench.colorTheme": "Default Dark Modern", \
50
+ "telemetry.enableTelemetry": true, \
51
+ "telemetry.enableCrashReporter": true \
52
+ }' > /home/coder/.local/share/code-server/User/settings.json
53
+
54
+ # Change ownership of the configuration directory
55
+ RUN chown -R coder:coder /home/coder/.local/share/code-server
56
+
57
+ # Install Python extension for code-server
58
+ RUN sudo -u coder code-server --install-extension ms-python.python
59
+
60
+ # Switch to the coder user for running code-server
61
+ USER coder
62
+
63
+ ENV HOME=/home/coder \
64
+ PATH=/home/coder/.local/bin:$PATH
65
+
66
+ COPY --chown=coder start_server.sh $HOME
67
+ RUN chmod +x $HOME/start_server.sh
68
+
69
+ # 创建rclone配置文件
70
+ RUN rclone config -h
71
+
72
+ WORKDIR /home/coder
73
+
74
+ # Start code-server with authentication
75
+ # CMD ["sh", "-c", "code-server --bind-addr 0.0.0.0:7860"]
76
+
77
+ CMD ["sh", "-c", "/home/coder/start_server.sh"]
78
+ # ENTRYPOINT ["/home/coder/start_server.sh"]
79
+
80
+ # Expose the default code-server port
81
+ EXPOSE 8080
82
+
83
+ # End of Dockerfile