Refactor Dockerfile and entrypoint script: streamline .NET installation process in Wine and enhance Wine prefix initialization

This commit is contained in:
2025-07-07 14:22:33 +02:00
parent 65e658ce80
commit 34ba226952
2 changed files with 34 additions and 25 deletions

View File

@@ -27,6 +27,28 @@ RUN dpkg --add-architecture i386 \
&& apt clean \
&& rm -rf /var/lib/apt/lists/*
# Setup Wine environment for .NET installation
ENV WINEARCH=win64
ENV WINEPREFIX=/opt/wine
ENV DISPLAY=:99.0
ENV WINEDLLOVERRIDES="mscoree,mshtml="
# Initialize Wine and install .NET for Windows
RUN mkdir -p /tmp/.X11-unix \
&& chmod 1777 /tmp/.X11-unix \
&& Xvfb :99 -screen 0 1024x768x16 -ac & \
&& sleep 3 \
&& timeout 60 wine wineboot --init \
&& sleep 5 \
&& cd /tmp \
&& wget -q https://download.microsoft.com/download/6/6/1/661c9a9c-9c54-4f8b-b1c6-89d88c0f3d68/dotnet-runtime-9.0.6-win-x64.exe \
&& timeout 180 wine dotnet-runtime-9.0.6-win-x64.exe /quiet /install \
&& wget -q https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.301/dotnet-sdk-9.0.301-win-x64.exe \
&& timeout 180 wine dotnet-sdk-9.0.301-win-x64.exe /quiet /install \
&& rm -f *.exe \
&& pkill Xvfb \
&& chown -R container:container /opt/wine
USER container
ENV USER=container HOME=/home/container
@@ -36,6 +58,10 @@ ENV WINEPREFIX=/home/container/.wine
ENV DISPLAY=:99.0
ENV WINEDLLOVERRIDES="mscoree,mshtml="
# Copy the pre-configured Wine prefix to user directory
RUN cp -r /opt/wine /home/container/.wine \
&& chown -R container:container /home/container/.wine
WORKDIR /home/container
STOPSIGNAL SIGINT