Spaces:
Paused
Paused
| FROM ubuntu:22.04 | |
| ENV DEBIAN_FRONTEND=noninteractive | |
| ENV DISPLAY=:1 | |
| # 安裝必要套件 | |
| RUN apt-get update && apt-get install -y \ | |
| xfce4 \ | |
| xfce4-terminal \ | |
| tigervnc-standalone-server \ | |
| tigervnc-common \ | |
| novnc \ | |
| websockify \ | |
| dbus-x11 \ | |
| supervisor \ | |
| net-tools \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # 設定 VNC 密碼 | |
| RUN mkdir -p /root/.vnc && \ | |
| echo "password" | vncpasswd -f > /root/.vnc/passwd && \ | |
| chmod 600 /root/.vnc/passwd | |
| # 建立 VNC 配置 | |
| RUN echo '#!/bin/bash\n\ | |
| vncserver -kill :1 || true\n\ | |
| rm -rf /tmp/.X1-lock /tmp/.X11-unix/X1\n\ | |
| vncserver :1 -geometry 1280x800 -depth 24 -SecurityTypes None' > /start-vnc.sh && \ | |
| chmod +x /start-vnc.sh | |
| # 建立網頁 VNC 啟動腳本 | |
| RUN echo '#!/bin/bash\n\ | |
| websockify --web=/usr/share/novnc/ --wrap-mode=ignore 6080 localhost:5901' > /start-novnc.sh && \ | |
| chmod +x /start-novnc.sh | |
| # 建立主啟動腳本 | |
| RUN echo '#!/bin/bash\n\ | |
| echo "Starting VNC server..."\n\ | |
| /start-vnc.sh\n\ | |
| echo "Starting noVNC server..."\n\ | |
| /start-novnc.sh &\n\ | |
| echo "VNC Desktop started successfully!"\n\ | |
| echo "VNC Port: 5901, noVNC Port: 6080"\n\ | |
| tail -f /dev/null' > /start-desktop.sh && \ | |
| chmod +x /start-desktop.sh | |
| EXPOSE 5901 6080 | |
| CMD ["/start-desktop.sh"] |