cacode commited on
Commit
2b16ade
·
verified ·
1 Parent(s): 4f671b4

Upload 2 files

Browse files
Files changed (2) hide show
  1. Dockerfile +9 -6
  2. start.sh +6 -1
Dockerfile CHANGED
@@ -12,20 +12,23 @@ ARG CODE_SERVER_VERSION=4.109.2
12
 
13
  RUN apt-get update && apt-get install -y --no-install-recommends \
14
  ca-certificates curl git bash sudo tini jq procps unzip \
15
- # C/C++ 基础工具链 + 头文件
16
  build-essential gcc g++ make cmake ninja-build gdb clang clangd \
17
  libc6-dev linux-libc-dev pkg-config \
18
  # Java + Node
19
  openjdk-17-jdk-headless maven \
20
  nodejs npm \
 
 
 
21
  && rm -rf /var/lib/apt/lists/*
22
 
23
- # 安装 code-server(固定版本)
24
  RUN curl -fsSL "https://github.com/coder/code-server/releases/download/v${CODE_SERVER_VERSION}/code-server_${CODE_SERVER_VERSION}_amd64.deb" -o /tmp/code-server.deb \
25
  && dpkg -i /tmp/code-server.deb \
26
  && rm -f /tmp/code-server.deb
27
 
28
- # Python 核心依赖(精简)
29
  RUN pip install --no-cache-dir --upgrade pip setuptools wheel && \
30
  pip install --no-cache-dir \
31
  numpy pandas scipy scikit-learn matplotlib \
@@ -38,13 +41,13 @@ RUN pip install --no-cache-dir --upgrade pip setuptools wheel && \
38
  # Codex CLI
39
  RUN npm install -g @openai/codex && npm cache clean --force
40
 
41
- # 创建用户
42
  RUN useradd -m -u 1000 -s /bin/bash coder \
43
  && echo "coder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers \
44
  && mkdir -p /home/coder/.config/code-server /home/coder/.codex \
45
  && chown -R coder:coder /home/coder
46
 
47
- # 快速验证 C 编译环境(构建期)
48
  RUN printf '#include <stdio.h>\nint main(){puts("ok");return 0;}\n' > /tmp/t.c \
49
  && gcc /tmp/t.c -o /tmp/t \
50
  && /tmp/t | grep -q ok \
@@ -58,4 +61,4 @@ WORKDIR /home/coder
58
 
59
  EXPOSE 7860
60
  ENTRYPOINT ["/usr/bin/tini", "--"]
61
- CMD ["/usr/local/bin/start.sh"]
 
12
 
13
  RUN apt-get update && apt-get install -y --no-install-recommends \
14
  ca-certificates curl git bash sudo tini jq procps unzip \
15
+ # C/C++ toolchain + headers
16
  build-essential gcc g++ make cmake ninja-build gdb clang clangd \
17
  libc6-dev linux-libc-dev pkg-config \
18
  # Java + Node
19
  openjdk-17-jdk-headless maven \
20
  nodejs npm \
21
+ # Rust + Go
22
+ rustc cargo rustfmt clippy \
23
+ golang-go \
24
  && rm -rf /var/lib/apt/lists/*
25
 
26
+ # Install code-server (pinned version)
27
  RUN curl -fsSL "https://github.com/coder/code-server/releases/download/v${CODE_SERVER_VERSION}/code-server_${CODE_SERVER_VERSION}_amd64.deb" -o /tmp/code-server.deb \
28
  && dpkg -i /tmp/code-server.deb \
29
  && rm -f /tmp/code-server.deb
30
 
31
+ # Python core deps
32
  RUN pip install --no-cache-dir --upgrade pip setuptools wheel && \
33
  pip install --no-cache-dir \
34
  numpy pandas scipy scikit-learn matplotlib \
 
41
  # Codex CLI
42
  RUN npm install -g @openai/codex && npm cache clean --force
43
 
44
+ # Create user
45
  RUN useradd -m -u 1000 -s /bin/bash coder \
46
  && echo "coder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers \
47
  && mkdir -p /home/coder/.config/code-server /home/coder/.codex \
48
  && chown -R coder:coder /home/coder
49
 
50
+ # Quick C build check (build-time)
51
  RUN printf '#include <stdio.h>\nint main(){puts("ok");return 0;}\n' > /tmp/t.c \
52
  && gcc /tmp/t.c -o /tmp/t \
53
  && /tmp/t | grep -q ok \
 
61
 
62
  EXPOSE 7860
63
  ENTRYPOINT ["/usr/bin/tini", "--"]
64
+ CMD ["/usr/local/bin/start.sh"]
start.sh CHANGED
@@ -103,6 +103,8 @@ if [[ ! -f "${EXT_MARKER}" ]]; then
103
  install_ext ms-vscode.cpp-devtools
104
  install_ext ms-vscode.cmake-tools
105
  install_ext danielpinto8zz6.c-cpp-compile-run
 
 
106
  install_ext redhat.java
107
  install_ext vscjava.vscode-java-debug
108
  install_ext vscjava.vscode-java-test
@@ -131,10 +133,13 @@ echo "[INFO] Python: $(python --version || true)"
131
  echo "[INFO] Pip: $(pip --version || true)"
132
  echo "[INFO] Node: $(node --version || true)"
133
  echo "[INFO] g++: $(g++ --version | head -n1 || true)"
 
 
 
134
 
135
  exec code-server "$WORKDIR" \
136
  --extensions-dir "$EXT_DIR" \
137
  --user-data-dir "$USER_DATA_DIR" \
138
  --disable-telemetry \
139
  --disable-update-check \
140
- --log warn
 
103
  install_ext ms-vscode.cpp-devtools
104
  install_ext ms-vscode.cmake-tools
105
  install_ext danielpinto8zz6.c-cpp-compile-run
106
+ install_ext golang.go
107
+ install_ext rust-lang.rust-analyzer
108
  install_ext redhat.java
109
  install_ext vscjava.vscode-java-debug
110
  install_ext vscjava.vscode-java-test
 
133
  echo "[INFO] Pip: $(pip --version || true)"
134
  echo "[INFO] Node: $(node --version || true)"
135
  echo "[INFO] g++: $(g++ --version | head -n1 || true)"
136
+ echo "[INFO] Rust: $(rustc --version || true)"
137
+ echo "[INFO] Cargo: $(cargo --version || true)"
138
+ echo "[INFO] Go: $(go version || true)"
139
 
140
  exec code-server "$WORKDIR" \
141
  --extensions-dir "$EXT_DIR" \
142
  --user-data-dir "$USER_DATA_DIR" \
143
  --disable-telemetry \
144
  --disable-update-check \
145
+ --log warn