diff --git a/Dockerfile b/Dockerfile
index 930a2dd..c0cc0d8 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,101 +1,51 @@
-# Use Ubuntu as base image for better Wine support
-FROM ubuntu:22.04
+FROM --platform=$TARGETOS/$TARGETARCH ghcr.io/parkervcp/yolks:debian
-# Avoid interactive prompts during installation
-ENV DEBIAN_FRONTEND=noninteractive
+LABEL author="Torsten Widmann" maintainer="info@goover.de"
-# Update system and install necessary packages including X11 for Wine
-RUN apt-get update && apt-get install -y \
- software-properties-common \
- wget \
- curl \
- gnupg2 \
- ca-certificates \
- apt-transport-https \
- xvfb \
- x11-utils \
- x11-xserver-utils \
- dbus-x11 \
- && rm -rf /var/lib/apt/lists/*
+ENV DEBIAN_FRONTEND=noninteractive
-# Add Wine repository and install Wine 64-bit
-RUN dpkg --add-architecture i386 \
- && mkdir -pm755 /etc/apt/keyrings \
- && wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key \
- && wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources \
- && apt-get update \
- && apt-get install -y --install-recommends winehq-stable \
- && apt-get install -y winetricks \
- && rm -rf /var/lib/apt/lists/*
+RUN apt update -y \
+ && apt upgrade -y \
+ && apt install -y apt-transport-https wget curl iproute2 libgdiplus tini \
+ && wget https://dot.net/v1/dotnet-install.sh \
+ && D_V="$(curl -sSL https://dotnet.microsoft.com/en-us/download/dotnet/9.0 | grep -i '
SDK 9.*.*
' | head -1 | awk -F\" '{print $3}' | awk '{print $2;}' | sed 's/<\/h3>//g')" \
+ && chmod +x dotnet-install.sh \
+ && ./dotnet-install.sh -i /usr/share -v $D_V \
+ && ln -s /usr/share/dotnet /usr/bin/dotnet
-# Create a wine user to avoid running as root
-RUN useradd -m -s /bin/bash -u 1000 wineuser
-USER wineuser
-WORKDIR /home/wineuser
+# Install Wine and dependencies
+RUN dpkg --add-architecture i386 \
+ && apt update -y \
+ && apt install -y software-properties-common gnupg2 \
+ && wget -qO - https://dl.winehq.org/wine-builds/winehq.key | apt-key add - \
+ && echo "deb https://dl.winehq.org/wine-builds/debian/ bullseye main" >> /etc/apt/sources.list.d/winehq.list \
+ && apt update -y \
+ && apt install -y winehq-stable \
+ && apt install -y winetricks \
+ && apt install -y xvfb \
+ && apt clean \
+ && rm -rf /var/lib/apt/lists/*
+USER container
+ENV USER=container HOME=/home/container
-# Set Wine to 64-bit mode
-ENV WINEARCH=win64
-ENV WINEPREFIX=/home/wineuser/.wine
-ENV DISPLAY=:99
-ENV WINEDLLOVERRIDES="mscoree,mshtml="
-ENV WINEDEBUG=-all
+# Wine environment variables
+ENV WINEARCH=win64
+ENV WINEPREFIX=/home/container/.wine
+ENV DISPLAY=:99.0
-# Create necessary directories and set up environment
-USER root
-RUN mkdir -p /tmp/.X11-unix /run/user/1000 \
- && chmod 1777 /tmp/.X11-unix \
- && chown wineuser:wineuser /run/user/1000
-USER wineuser
+# Initialize Wine prefix as container user
+RUN Xvfb :99 -screen 0 1024x768x16 & \
+ export DISPLAY=:99.0 && \
+ wine --version && \
+ wineboot --init && \
+ winetricks -q corefonts && \
+ pkill Xvfb
-# Set additional environment variables
-ENV XDG_RUNTIME_DIR=/run/user/1000
+WORKDIR /home/container
-# Create X11 directory and initialize Wine prefix
-RUN Xvfb :99 -screen 0 1024x768x16 & \
- XVFB_PID=$! \
- && sleep 3 \
- && wineboot --init \
- && sleep 5 \
- && wineserver --wait \
- && kill $XVFB_PID || true
+STOPSIGNAL SIGINT
-# Install Wine dependencies for .NET
-RUN Xvfb :99 -screen 0 1024x768x16 & \
- XVFB_PID=$! \
- && sleep 3 \
- && winetricks -q corefonts vcrun2019 \
- && wineserver --wait \
- && kill $XVFB_PID || true
-
-# Download .NET SDK
-RUN cd /tmp \
- && wget --progress=bar:force https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.301/dotnet-sdk-9.0.301-win-x64.exe \
- && echo "Download completed, file size: $(ls -lh dotnet-sdk-9.0.301-win-x64.exe)"
-
-# Install .NET SDK with virtual display
-RUN cd /tmp \
- && Xvfb :99 -screen 0 1024x768x16 & \
- XVFB_PID=$! \
- && sleep 3 \
- && wine dotnet-sdk-9.0.301-win-x64.exe /S || wine dotnet-sdk-9.0.301-win-x64.exe /quiet || wine dotnet-sdk-9.0.301-win-x64.exe \
- && wineserver --wait \
- && kill $XVFB_PID || true \
- && rm dotnet-sdk-9.0.301-win-x64.exe || true
-
-# Set environment variables for .NET
-ENV DOTNET_ROOT="$WINEPREFIX/drive_c/Program Files/dotnet"
-ENV PATH="$DOTNET_ROOT:$PATH"
-
-# Get dotnet version to verify installation
-RUN Xvfb :99 -screen 0 1024x768x16 & \
- XVFB_PID=$! \
- && sleep 3 \
- && wine dotnet --version \
- && wineserver --wait \
- && kill $XVFB_PID || true
-
-# Set working directory for projects
-WORKDIR /home/wineuser/projects
-
-# Default command
-CMD ["/bin/bash"]
+COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]
\ No newline at end of file
diff --git a/README.md b/README.md
deleted file mode 100644
index 888ed37..0000000
--- a/README.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# Wine + .NET SDK Docker Image
-
-Ez a Docker image telepíti a Wine 64-bit verzióját és a Microsoft .NET SDK 9.0.301-et Windows-on keresztül.
-
-## Tartalom
-
-- Ubuntu 22.04 alapú image
-- Wine 64-bit (stable verzió)
-- .NET SDK 9.0.301 (Windows x64)
-
-## Build
-
-### Bash-sel (Git Bash, WSL, Linux, macOS):
-```bash
-chmod +x build.sh
-./build.sh
-```
-
-### Manuálisan:
-```bash
-docker build -t wine-dotnet:latest .
-```
-
-## Használat
-
-### Alapvető futtatás:
-```bash
-docker run -it --rm wine-dotnet:latest
-```
-
-### Projektekkel való munka (volume mounting):
-```bash
-docker run -it --rm -v $(pwd)/projects:/home/wineuser/projects wine-dotnet:latest
-```
-
-Windows PowerShell-ben:
-```powershell
-docker run -it --rm -v ${PWD}/projects:/home/wineuser/projects wine-dotnet:latest
-```
-
-## .NET használata a containerben
-
-A containerben belül használhatod a .NET SDK-t a speciális script segítségével:
-
-```bash
-# .NET verzió ellenőrzése
-./run-dotnet.sh --version
-
-# Új projekt létrehozása
-./run-dotnet.sh new console -n MyApp
-
-# Projekt build-elése
-cd MyApp
-../run-dotnet.sh build
-
-# Projekt futtatása
-../run-dotnet.sh run
-```
-
-Alternatívaként közvetlenül is használhatod:
-```bash
-# Virtual display indítása
-Xvfb :99 -screen 0 1024x768x16 &
-export DISPLAY=:99
-
-# .NET parancsok
-wine dotnet --version
-```
-
-## Megjegyzések
-
-- A container egy `wineuser` felhasználóval fut (nem root)
-- A Wine prefix előre konfigurálva van 64-bit módban
-- A .NET SDK csendben telepítve van virtual display segítségével
-- A projektek a `/home/wineuser/projects` könyvtárban tárolhatók
-- A `run-dotnet.sh` script automatikusan kezeli a virtual display-t
diff --git a/build.sh b/build.sh
deleted file mode 100644
index 544adad..0000000
--- a/build.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-
-echo "Building Wine + .NET SDK Docker image..."
-docker build -t wine-dotnet:latest .
-
-if [ $? -eq 0 ]; then
- echo "✅ Docker image built successfully!"
- echo ""
- echo "To run the container interactively:"
- echo "docker run -it --rm wine-dotnet:latest"
- echo ""
- echo "To run with volume mounting (for development):"
- echo "docker run -it --rm -v \$(pwd)/projects:/home/wineuser/projects wine-dotnet:latest"
- echo ""
- echo "To run a .NET application with Wine:"
- echo "docker run -it --rm -v \$(pwd)/projects:/home/wineuser/projects wine-dotnet:latest"
- echo "Then inside the container: wine dotnet YourApp.dll"
-else
- echo "❌ Failed to build Docker image"
- exit 1
-fi
diff --git a/entrypoint.sh b/entrypoint.sh
new file mode 100644
index 0000000..4220dcb
--- /dev/null
+++ b/entrypoint.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+cd /home/container
+
+# Set environment variable that holds the Internal Docker IP
+INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
+export INTERNAL_IP
+
+# set this variable, dotnet needs it even without it it reports to `dotnet --info` it can not start any aplication without this
+export DOTNET_ROOT=/usr/share/
+
+# Start Xvfb for Wine (virtual display)
+Xvfb :99 -screen 0 1024x768x16 &
+export DISPLAY=:99.0
+
+# print the dotnet version on startup
+printf "\033[1m\033[33mcontainer@pelican~ \033[0mdotnet --version\n"
+dotnet --version
+
+# print the wine version on startup
+printf "\033[1m\033[33mcontainer@pelican~ \033[0mwine --version\n"
+wine --version
+
+# Replace Startup Variables
+MODIFIED_STARTUP=$(echo -e ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')
+echo -e ":/home/container$ ${MODIFIED_STARTUP}"
+
+# Run the Server
+eval ${MODIFIED_STARTUP}