diff --git a/Dockerfile-msyh b/Dockerfile-msyh new file mode 100644 index 0000000..0cb7992 --- /dev/null +++ b/Dockerfile-msyh @@ -0,0 +1,67 @@ +FROM ubuntu:jammy + +LABEL maintainer="lxh@cxh.cn" + +RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone + +# 安装必要的工具 +RUN apt-get update -y && \ + apt-get install -y software-properties-common wget unzip git curl vim sudo net-tools + +# 安装vnc和自动化相关工具 +RUN apt-get install -y supervisor xvfb x11vnc fluxbox novnc xdotool + +# 安装中文字体 +RUN apt-get install -y ttf-wqy-microhei locales procps \ + && rm -rf /var/lib/apt/lists/* \ + && sed -ie 's/# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/g' /etc/locale.gen \ + && locale-gen +# 添加微软雅黑 +COPY msyh.ttc /usr/share/fonts/truetype/msyh.ttc +# 刷新字体缓存 +RUN sudo fc-cache -fv + +# 安装 wine +RUN dpkg --add-architecture i386 && \ + apt-get full-upgrade -y && \ + wget -nc https://dl.winehq.org/wine-builds/winehq.key && \ + apt-key add winehq.key && \ + apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ jammy main' && \ + apt-get update -y && \ + apt-get install -y --install-recommends winehq-stable winetricks && \ + wine --version + +# 配置运行环境等信息 +ENV DISPLAY_WIDTH=1280 \ + DISPLAY_HEIGHT=720 \ + DISPLAY=:0.0 \ + LANG=zh_CN.UTF-8 \ + LANGUAGE=zh_CN.UTF-8 \ + LC_ALL=zh_CN.UTF-8 \ + WINEPREFIX=/home/app/.wine + +# 复制配置文件 +COPY etc/ /etc/ + +# 创建用户 +RUN useradd -m app && usermod -aG sudo app && echo 'app ALL=(ALL) NOPASSWD:ALL' >> //etc/sudoers + +USER app +WORKDIR /home/app + +# 设置 VNC 密码 +RUN mkdir ~/.vnc && x11vnc -storepasswd vncpass ~/.vnc/passwd + +# 安装wine-mono +COPY install-wine-mono.sh ./ + +RUN bash -c 'sudo -E supervisord -c /etc/supervisord.conf -l /var/log/supervisord.log &' && \ + sleep 5 && \ + sudo chown -R app:app ./install-*.sh && \ + sudo chmod +x ./install-*.sh && \ + ./install-wine-mono.sh && \ + sudo rm -rf ./install-*.sh + +COPY entrypoint.sh /entrypoint.sh + +CMD ["/entrypoint.sh"] \ No newline at end of file diff --git a/msyh.ttc b/msyh.ttc new file mode 100644 index 0000000..ddc87b9 Binary files /dev/null and b/msyh.ttc differ