diff --git a/Dockerfile.cloudron b/Dockerfile.cloudron index 688e72f..4dbefaa 100644 --- a/Dockerfile.cloudron +++ b/Dockerfile.cloudron @@ -17,6 +17,8 @@ ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y \ xvfb \ x11vnc \ + openbox \ + wmctrl \ websockify \ ca-certificates \ curl \ diff --git a/start.sh b/start.sh index 853937f..572f2c9 100755 --- a/start.sh +++ b/start.sh @@ -1,22 +1,34 @@ #!/bin/sh set -e -# Créer le répertoire de données persistant +# Prépare le répertoire de données mkdir -p /app/data -# Lancer le framebuffer virtuel sur DISPLAY :1 -Xvfb :1 -screen 0 1280x720x24 & +# Lance Xvfb avec une résolution (ici 1920x1080, modifiable via env VNC_RESOLUTION si besoin) +Xvfb :1 -screen 0 ${VNC_RESOLUTION:-1920x1080x24} -dpi ${VNC_DPI:-120} & sleep 2 -# Lancer x11vnc pour partager le display :1 sur le port 5900 (sans mot de passe) +# Lance Openbox pour gérer la fenêtre et maximiser automatiquement +openbox-session & +sleep 2 + +# Lance x11vnc pour partager le display :1 sur le port 5900 (sans mot de passe) x11vnc -display :1 -rfbport 5900 -nopw -forever -shared & sleep 2 -# Lancer websockify (noVNC) pour exposer x11vnc sur le port 6080 +# Lance noVNC pour exposer l'interface web sur le port 6080 websockify --web /usr/share/novnc 6080 localhost:5900 & sleep 2 -# Exporter le DISPLAY et lancer l'application en tant que user cloudron +# Exporte le DISPLAY et lance l'application SoulseekQt en arrière-plan export DISPLAY=:1 -exec gosu cloudron /app/code/SoulseekQt +/app/code/SoulseekQt & +# Attendre que l'application se lance +sleep 5 + +# Utilise wmctrl pour maximiser la fenêtre active +wmctrl -r :ACTIVE: -b add,maximized_vert,maximized_horz || true + +# Garde le container actif +tail -f /dev/null