ykxVK8yL5L commited on
Commit
fed9acb
·
verified ·
1 Parent(s): e6605cf

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +80 -0
Dockerfile ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ curl
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
+ # Install code-server
31
+ RUN curl -fsSL https://code-server.dev/install.sh | sh -s -- --version=4.23.0-rc.2
32
+
33
+ # Install ollama
34
+ RUN curl -fsSL https://ollama.com/install.sh | sh
35
+
36
+ # Create a user to run code-server
37
+ RUN useradd -m -s /bin/zsh coder && \
38
+ echo 'coder ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
39
+
40
+ # Create code-server configuration directory
41
+ RUN mkdir -p /home/coder/.local/share/code-server/User
42
+
43
+ # Add settings.json to enable dark mode
44
+ RUN echo '{ \
45
+ "workbench.colorTheme": "Default Dark Modern", \
46
+ "telemetry.enableTelemetry": true, \
47
+ "telemetry.enableCrashReporter": true \
48
+ }' > /home/coder/.local/share/code-server/User/settings.json
49
+
50
+ # Change ownership of the configuration directory
51
+ RUN chown -R coder:coder /home/coder/.local/share/code-server
52
+
53
+ # Install Python extension for code-server
54
+ RUN sudo -u coder code-server --install-extension ms-python.python
55
+
56
+ # Switch to the coder user for running code-server
57
+ USER coder
58
+
59
+ ENV HOME=/home/coder \
60
+ PATH=/home/coder/.local/bin:$PATH
61
+
62
+ COPY --chown=coder start_server.sh $HOME
63
+ RUN chmod +x $HOME/start_server.sh
64
+
65
+ # 创建rclone配置文件
66
+ RUN rclone config -h
67
+
68
+ WORKDIR /home/coder
69
+
70
+ # Start code-server with authentication
71
+ # CMD ["sh", "-c", "code-server --bind-addr 0.0.0.0:7860"]
72
+
73
+
74
+ CMD ["sh", "-c", "/home/coder/start_server.sh"]
75
+ # ENTRYPOINT ["/home/coder/start_server.sh"]
76
+
77
+ # Expose the default code-server port
78
+ EXPOSE 8080
79
+
80
+ # End of Dockerfile