wip: before switching to nicotine

This commit is contained in:
SansGuidon 2025-04-24 00:06:00 +02:00
parent ebdb347297
commit 1575332062
2 changed files with 21 additions and 7 deletions

@ -17,6 +17,8 @@ ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y \
xvfb \
x11vnc \
openbox \
wmctrl \
websockify \
ca-certificates \
curl \

@ -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