1+ FROM ghcr.io/pleasurecruise/my-env:latest
2+
3+ # 设置环境变量
4+ ENV DEBIAN_FRONTEND=noninteractive
5+ ENV TZ=Asia/Shanghai
6+
7+ # 重新获取环境变量(由于基于已构建镜像)
8+ ENV NVM_DIR=/root/.nvm
9+ ENV NODE_VERSION=24
10+ ENV PYENV_ROOT=/root/.pyenv
11+ ENV CONDA_DIR=/opt/conda
12+ ENV SDKMAN_DIR=/root/.sdkman
13+ ENV MAVEN_HOME=/opt/maven
14+ ENV JAVA_HOME=$SDKMAN_DIR/candidates/java/current
15+ ENV GOPATH=/root/go
16+
17+ # 更新 PATH 环境变量
18+ ENV PATH=$NVM_DIR/versions/node/v$NODE_VERSION.0.0/bin:$PYENV_ROOT/shims:$PYENV_ROOT/bin:$CONDA_DIR/bin:$JAVA_HOME/bin:$MAVEN_HOME/bin:/usr/local/go/bin:$GOPATH/bin:$PATH
19+
20+ # 安装 AI 编程工具
21+ RUN echo "=== Installing AI Coding Tools ===" \
22+ && . "$NVM_DIR/nvm.sh" \
23+ && echo "Installing @anthropic-ai/claude-code..." \
24+ && npm install -g @anthropic-ai/claude-code \
25+ && echo "Installing @openai/codex..." \
26+ && npm install -g @openai/codex \
27+ && echo "Installing @google/gemini-cli..." \
28+ && npm install -g @google/gemini-cli \
29+ && echo "Installing @qwen-code/qwen-code..." \
30+ && npm install -g @qwen-code/qwen-code \
31+ && echo "Installing @github/copilot..." \
32+ && npm install -g @github/copilot@latest
33+
34+ # 安装 VSCode Server
35+ RUN echo "=== Installing VSCode Server ===" \
36+ && mkdir -p /root/.vscode-server \
37+ && curl -fsSL https://code-server.dev/install.sh | sh \
38+ && echo "Installing VSCode extensions..." \
39+ && code-server --install-extension ms-python.python \
40+ && code-server --install-extension ms-vscode.cpptools \
41+ && code-server --install-extension ms-vscode.vscode-typescript-next \
42+ && code-server --install-extension bradlc.vscode-tailwindcss \
43+ && code-server --install-extension GitHub.vscode-pull-request-github \
44+ && code-server --install-extension GitHub.copilot \
45+ && code-server --install-extension GitHub.copilot-chat \
46+ && code-server --install-extension Vue.volar \
47+ && code-server --install-extension Vue.vscode-typescript-vue-plugin \
48+ && code-server --install-extension Expo.vscode-expo-tools \
49+ && code-server --install-extension vscodevim.vim \
50+ && echo "Creating VSCode Server configuration..." \
51+ && mkdir -p /root/.config/code-server \
52+ && echo '{"bind-addr": "0.0.0.0:8080", "auth": "password", "password": "123456", "cert": false}' > /root/.config/code-server/config.yaml \
53+ && echo "VSCode Server will be available on port 8080"
54+
55+ # 安装 JetBrains IDEs
56+ RUN echo "=== Installing JetBrains IDEs ===" \
57+ && mkdir -p /root/.local/share/JetBrains/Toolbox/apps \
58+ && echo "Downloading WebStorm..." \
59+ && wget -O /tmp/WebStorm.tar.gz "https://data.services.jetbrains.com/products/download?code=WS&platform=linux" \
60+ && mkdir -p /root/.local/share/JetBrains/Toolbox/apps/webstorm \
61+ && tar -xzf /tmp/WebStorm.tar.gz -C /root/.local/share/JetBrains/Toolbox/apps/webstorm --strip-components=1 \
62+ && rm /tmp/WebStorm.tar.gz \
63+ && echo "Downloading IntelliJ IDEA Ultimate..." \
64+ && wget -O /tmp/IntelliJIDEA.tar.gz "https://data.services.jetbrains.com/products/download?code=IU&platform=linux" \
65+ && mkdir -p /root/.local/share/JetBrains/Toolbox/apps/intellij-idea-ultimate \
66+ && tar -xzf /tmp/IntelliJIDEA.tar.gz -C /root/.local/share/JetBrains/Toolbox/apps/intellij-idea-ultimate --strip-components=1 \
67+ && rm /tmp/IntelliJIDEA.tar.gz \
68+ && echo "Downloading PyCharm Professional..." \
69+ && wget -O /tmp/PyCharm.tar.gz "https://data.services.jetbrains.com/products/download?code=PCP&platform=linux" \
70+ && mkdir -p /root/.local/share/JetBrains/Toolbox/apps/pycharm \
71+ && tar -xzf /tmp/PyCharm.tar.gz -C /root/.local/share/JetBrains/Toolbox/apps/pycharm --strip-components=1 \
72+ && rm /tmp/PyCharm.tar.gz \
73+ && echo "Downloading GoLand..." \
74+ && wget -O /tmp/GoLand.tar.gz "https://data.services.jetbrains.com/products/download?code=GO&platform=linux" \
75+ && mkdir -p /root/.local/share/JetBrains/Toolbox/apps/goland \
76+ && tar -xzf /tmp/GoLand.tar.gz -C /root/.local/share/JetBrains/Toolbox/apps/goland --strip-components=1 \
77+ && rm /tmp/GoLand.tar.gz \
78+ && echo "=== JetBrains IDEs Installation Complete ===" \
79+ && echo "WebStorm installed in: /root/.local/share/JetBrains/Toolbox/apps/webstorm" \
80+ && echo "IntelliJ IDEA Ultimate installed in: /root/.local/share/JetBrains/Toolbox/apps/intellij-idea-ultimate" \
81+ && echo "PyCharm Professional installed in: /root/.local/share/JetBrains/Toolbox/apps/pycharm" \
82+ && echo "GoLand installed in: /root/.local/share/JetBrains/Toolbox/apps/goland"
83+
84+ # 添加 JetBrains IDEs 到 PATH
85+ RUN echo '' >> /root/.bashrc \
86+ && echo '# JetBrains IDEs configuration' >> /root/.bashrc \
87+ && echo 'export PATH="/root/.local/share/JetBrains/Toolbox/apps/webstorm/bin:$PATH"' >> /root/.bashrc \
88+ && echo 'export PATH="/root/.local/share/JetBrains/Toolbox/apps/intellij-idea-ultimate/bin:$PATH"' >> /root/.bashrc \
89+ && echo 'export PATH="/root/.local/share/JetBrains/Toolbox/apps/pycharm/bin:$PATH"' >> /root/.bashrc \
90+ && echo 'export PATH="/root/.local/share/JetBrains/Toolbox/apps/goland/bin:$PATH"' >> /root/.bashrc
91+
92+ # 安装 Vercel CLI 和 GitHub CLI
93+ RUN echo "=== Installing Vercel CLI and GitHub CLI ===" \
94+ && . "$NVM_DIR/nvm.sh" \
95+ && echo "Installing Vercel CLI..." \
96+ && npm install -g vercel \
97+ && echo "Installing GitHub CLI..." \
98+ && curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \
99+ && chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \
100+ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
101+ && apt-get update \
102+ && apt-get install -y gh \
103+ && echo "Vercel CLI and GitHub CLI installed successfully" \
104+ && echo "Vercel CLI version:" && vercel --version \
105+ && echo "GitHub CLI version:" && gh --version
106+
107+ # 设置工作目录
108+ WORKDIR /workspace
109+
110+ # 显示安装完成信息
111+ RUN echo "=== AI Coding Tools and IDEs Installation Complete ===" \
112+ && echo "Installed tools:" \
113+ && echo "- Claude Code: @anthropic-ai/claude-code" \
114+ && echo "- OpenAI Codex: @openai/codex" \
115+ && echo "- Google Gemini CLI: @google/gemini-cli" \
116+ && echo "- Qwen Code: @qwen-code/qwen-code" \
117+ && echo "- GitHub Copilot: @github/copilot" \
118+ && echo "- VSCode Server with extensions" \
119+ && echo "- JetBrains IDEs: WebStorm, IntelliJ IDEA Ultimate, PyCharm Professional, GoLand" \
120+ && echo "" \
121+ && echo "Container is ready for AI-powered development"
0 commit comments