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:
9
.claude/settings.local.json
Normal file
9
.claude/settings.local.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"permissions": {
|
||||||
|
"allow": [
|
||||||
|
"Bash(git add:*)"
|
||||||
|
],
|
||||||
|
"deny": [],
|
||||||
|
"ask": []
|
||||||
|
}
|
||||||
|
}
|
||||||
27
Dockerfile
27
Dockerfile
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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 하시면 됩니다.
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
7
initial-resource/Desktop/cursor.desktop
Normal file
7
initial-resource/Desktop/cursor.desktop
Normal 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
|
||||||
Reference in New Issue
Block a user