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/ = 209;/ = 122;/g' /usr/share/X11/xkb/keycodes/xfree86 RUN sed -i 's/ = 210;/ = 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