Files
xwindow-korean/Dockerfile
chiDT cfb93bb47b 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>
2025-08-26 22:20:30 +09:00

77 lines
2.8 KiB
Docker

FROM debian:trixie
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update
# locale gen
RUN apt-get install -y locales
ENV TZ=Asia/Seoul
ENV LANG=ko_KR.UTF-8
ENV LANGUAGE=ko_KR:ko
ENV LC_ALL=ko_KR.UTF-8
RUN sed -i 's/^# *ko_KR.UTF-8 UTF-8/ko_KR.UTF-8 UTF-8/' /etc/locale.gen && locale-gen $LANG && update-locale LANG=$LANG
# install modules
RUN apt-get install -y dbus-x11 x11-xserver-utils xfce4 xfce4-goodies xorgxrdp xrdp tumbler \
ibus ibus-gtk3 fcitx5-hangul fcitx5-config-qt fcitx5-frontend-gtk3 fcitx5-frontend-gtk4 fcitx5-frontend-qt5 fonts-noto-cjk \
sudo nano vim net-tools chromium git curl npm \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# install vscode
RUN curl -q -L -o vscode.deb https://update.code.visualstudio.com/1.103.2/linux-deb-x64/stable \
&& apt-get install ./vscode.deb \
&& 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
RUN chmod +x /entrypoint.sh
COPY user-entrypoint.sh /etc/X11/Xsession.d/97user-entrypoint
COPY initial-resource/ /var/initial-resource/
# korean keycode correction
RUN sed -i 's/<HNGL> = 209;/<HNGL> = 122;/g' /usr/share/X11/xkb/keycodes/xfree86
RUN sed -i 's/<HJCV> = 210;/<HJCV> = 121;/g' /usr/share/X11/xkb/keycodes/xfree86
# startup profile
RUN echo "TZ=Asia/Seoul" >> /etc/environment && \
echo "LANG=ko_KR.UTF-8" >> /etc/environment && \
echo "LANGUAGE=ko_KR:ko" >> /etc/environment && \
echo "LC_ALL=ko_KR.UTF-8" >> /etc/environment && \
echo "GTK_IM_MODULE=fcitx" >> /etc/environment && \
echo "QT_IM_MODULE=fcitx" >> /etc/environment && \
echo "QT4_IM_MODULE=fcitx" >> /etc/environment && \
echo "QT5_IM_MODULE=fcitx" >> /etc/environment && \
echo "XMODIFIERS=@im=fcitx" >> /etc/environment
EXPOSE 3389
ENTRYPOINT /entrypoint.sh