Add development tools: .NET SDKs, Cursor IDE, and AI CLI tools

- Install .NET SDK 8.0 and 9.0 with Microsoft package repository
- Add Cursor IDE with AppImage installation and desktop shortcut
- Install Claude CLI from GitHub releases
- Install Gemini CLI via npm
- Update sandbox mode handling for Cursor IDE
- Add API key setup instructions for AI CLI tools

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-08-26 22:20:30 +09:00
parent 46cac2de6e
commit cfb93bb47b
5 changed files with 56 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
{
"permissions": {
"allow": [
"Bash(git add:*)"
],
"deny": [],
"ask": []
}
}

View File

@@ -23,6 +23,33 @@ RUN curl -q -L -o vscode.deb https://update.code.visualstudio.com/1.103.2/linux-
&& apt-get install ./vscode.deb \ && apt-get install ./vscode.deb \
&& rm -rf ./vscode.deb /etc/apt/sources.list.d/vscode.sources && rm -rf ./vscode.deb /etc/apt/sources.list.d/vscode.sources
# install .NET 8 and .NET 9
RUN curl -q -L -o packages-microsoft-prod.deb https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb \
&& dpkg -i packages-microsoft-prod.deb \
&& rm packages-microsoft-prod.deb \
&& apt-get update \
&& apt-get install -y dotnet-sdk-8.0 dotnet-sdk-9.0 \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# install cursor ide
RUN curl -q -L -o cursor.deb https://downloader.cursor.sh/linux/appImage/x64 \
&& mv cursor.deb cursor.AppImage \
&& chmod +x cursor.AppImage \
&& ./cursor.AppImage --appimage-extract \
&& mv squashfs-root /opt/cursor \
&& ln -s /opt/cursor/cursor /usr/bin/cursor \
&& rm cursor.AppImage
# install claude code cli
RUN curl -q -L -o claude_cli.tar.gz https://github.com/anthropics/claude-cli/releases/latest/download/claude-cli-linux-x64.tar.gz \
&& tar -xzf claude_cli.tar.gz \
&& mv claude /usr/local/bin/claude \
&& chmod +x /usr/local/bin/claude \
&& rm claude_cli.tar.gz
# install gemini cli
RUN npm install -g @google/generative-ai-cli
COPY entrypoint.sh /entrypoint.sh COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh RUN chmod +x /entrypoint.sh

View File

@@ -8,10 +8,15 @@ RDP(리모트 데스크탑) 지원하는 경량 debian 13 (trixie) base 한글 X
# 설치된 프로그램 # 설치된 프로그램
- Visual studio code - Visual studio code
- Cursor IDE
- Chromium - Chromium
- vim - vim
- git - git
- npm + nodejs - npm + nodejs
- .NET SDK 8.0
- .NET SDK 9.0
- Claude CLI
- Gemini CLI
# 사용법 # 사용법
- docker 3389 port 열어서 띄우시면 됩니다. 그 후 윈도우 원격 데스크탑(3389포트)으로 해당 컨테이너 접속. - docker 3389 port 열어서 띄우시면 됩니다. 그 후 윈도우 원격 데스크탑(3389포트)으로 해당 컨테이너 접속.
@@ -25,6 +30,10 @@ RDP(리모트 데스크탑) 지원하는 경량 debian 13 (trixie) base 한글 X
- 보안 상 로컬리소스가 붙는게 막혀있습니다. 로컬 리소스를 연결해서 CTRL+C / CTRL+V 같은 파일 복사를 원하시는 경우에는 privileged 모드로 실행하세요. - 보안 상 로컬리소스가 붙는게 막혀있습니다. 로컬 리소스를 연결해서 CTRL+C / CTRL+V 같은 파일 복사를 원하시는 경우에는 privileged 모드로 실행하세요.
- privileged 모드로 실행하는 경우 C: 같은 드라이브는 home 디렉토리 내 thinclient_drives 에 마운트 됩니다. - privileged 모드로 실행하는 경우 C: 같은 드라이브는 home 디렉토리 내 thinclient_drives 에 마운트 됩니다.
# AI CLI 도구 설정
- **Claude CLI**: 컨테이너 실행 후 `claude auth` 명령어로 API 키 설정 필요
- **Gemini CLI**: `genai config set api_key YOUR_API_KEY` 명령어로 API 키 설정 필요
# 새 사용자 생성 # 새 사용자 생성
sudo su 하셔서 루트 권한으로 adduser 하시면 됩니다. sudo su 하셔서 루트 권한으로 adduser 하시면 됩니다.

View File

@@ -41,6 +41,10 @@ if [ "$SANDBOX_CHECK_EXIT_CODE" -ne 0 ]; then
rm -rf /usr/bin/code rm -rf /usr/bin/code
ln -s /usr/share/code/bin/code /usr/bin/code ln -s /usr/share/code/bin/code /usr/bin/code
sed -i 's|ELECTRON_RUN_AS_NODE=1 "\$ELECTRON" "\$CLI" "\$@"|ELECTRON_RUN_AS_NODE=1 "\$ELECTRON" "\$CLI" --no-sandbox --disable-gpu "\$@"|' /usr/share/code/bin/code sed -i 's|ELECTRON_RUN_AS_NODE=1 "\$ELECTRON" "\$CLI" "\$@"|ELECTRON_RUN_AS_NODE=1 "\$ELECTRON" "\$CLI" --no-sandbox --disable-gpu "\$@"|' /usr/share/code/bin/code
# cursor also needs no-sandbox mode
if [ -f /opt/cursor/cursor ]; then
sed -i 's|exec "\$HERE/cursor"|exec "\$HERE/cursor" --no-sandbox --disable-gpu|' /opt/cursor/cursor 2>/dev/null || true
fi
fi fi
set -e set -e

View File

@@ -0,0 +1,7 @@
[Desktop Entry]
Name=Cursor
Comment=AI-first code editor
Exec=/usr/bin/cursor %F
Icon=cursor
Terminal=false
Type=Application