19 Commits

Author SHA1 Message Date
dd43e7b262 Dockerfile aktualisiert 2025-04-02 12:42:44 +02:00
4c01d07b37 Dockerfile aktualisiert 2025-04-02 12:39:03 +02:00
50e53f752f Dockerfile aktualisiert 2025-04-02 12:23:02 +02:00
f846447fa7 scripts/start-server.sh aktualisiert 2024-11-04 14:13:42 +01:00
5735a7c8cd scripts/start-server.sh aktualisiert 2024-11-04 14:05:05 +01:00
251bebffe9 scripts/start-server.sh aktualisiert 2024-11-04 14:03:00 +01:00
2ff9ec6dea scripts/start-server.sh aktualisiert 2024-11-04 13:42:20 +01:00
11ecf799d6 scripts/start-x11.sh hinzugefügt 2024-11-04 13:40:40 +01:00
5841b8518a Dockerfile aktualisiert 2024-11-04 13:39:33 +01:00
890c5c034e Dockerfile aktualisiert 2024-10-30 19:26:16 +01:00
37f9566ac9 Dockerfile aktualisiert 2024-10-30 19:15:18 +01:00
a007eacf73 scripts/start-server.sh aktualisiert 2024-10-30 18:35:10 +01:00
a3c8d86bd5 Dockerfile aktualisiert 2024-10-30 18:34:28 +01:00
e412d25920 Dockerfile aktualisiert 2024-10-30 18:18:58 +01:00
7bf7d4acc6 scripts/start.sh aktualisiert 2024-10-30 18:11:00 +01:00
48dc8084df scripts/start-server.sh aktualisiert 2024-10-30 18:09:17 +01:00
5ff86ff318 scripts/start-server.sh aktualisiert 2024-10-30 17:41:11 +01:00
1c9d9966f6 scripts/start.sh aktualisiert 2024-10-30 17:40:06 +01:00
94f6829b48 Dockerfile aktualisiert 2024-10-30 17:39:48 +01:00
4 changed files with 56 additions and 37 deletions

View File

@@ -1,4 +1,4 @@
FROM ich777/novnc-baseimage
FROM ich777/kasmvnc-baseimage
LABEL org.opencontainers.image.authors="admin@minenet.at"
LABEL org.opencontainers.image.source="https://github.com/ich777/docker-debian-bookworm"
@@ -7,19 +7,20 @@ RUN export TZ=Europe/Rome && \
apt-get update && \
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
echo $TZ > /etc/timezone && \
DEBIAN_FRONTEND=noninteractive apt-get -y install xfce4 xfce4-terminal xfce4-taskmanager dbus-x11 iputils-ping xarchiver bzip2 xz-utils unzip unrar zip binutils bash-completion procps traceroute telnet gvfs-backends gvfs-common gvfs-fuse gvfs firefox-esr curl unzip gedit ffmpeg flameshot jq fonts-vlgothic ttf-wqy-zenhei fonts-wqy-microhei fonts-takao fonts-arphic-uming fonts-noto-cjk msttcorefonts remmina nano libxdo3 ssh peek && \
apt-get -y remove zutty pavucontrol && \
DEBIAN_FRONTEND=noninteractive apt-get -y install xfce4 xfce4-terminal xfce4-taskmanager dbus-x11 iputils-ping xarchiver bzip2 xz-utils unzip unrar zip binutils bash-completion procps traceroute telnet gvfs-backends gvfs-common gvfs-fuse gvfs firefox-esr curl unzip gedit ffmpeg flameshot jq fonts-vlgothic ttf-wqy-zenhei fonts-wqy-microhei fonts-takao fonts-arphic-uming fonts-noto-cjk msttcorefonts remmina nano libxdo3 ssh peek x11vnc git && \
apt-get -y remove vim zutty pavucontrol && \
rm -rf /var/lib/apt/lists/*
RUN mkdir -p /tmp/rustdesk && \
RUSTDESK_V="$(wget -qO- https://api.github.com/repos/rustdesk/rustdesk/releases/latest | grep tag_name | cut -d '"' -f4)" && \
wget -O /tmp/rustdesk/rustdesk.tar.zst https://github.com/rustdesk/rustdesk/releases/download/${RUSTDESK_V}/rustdesk-${RUSTDESK_V}-0-x86_64.pkg.tar.zst && \
tar -C /tmp/rustdesk -xvf /tmp/rustdesk/rustdesk.tar.zst && \
mv /tmp/rustdesk/usr/lib/rustdesk /opt/ && mv /tmp/rustdesk/usr/share/icons/hicolor/256x256/apps/rustdesk.png /opt/rustdesk && \
mv /tmp/rustdesk/usr/share/rustdesk/files/rustdesk.desktop /usr/share/applications/ && \
mv /tmp/rustdesk/usr/share/rustdesk /opt/ && mv /tmp/rustdesk/usr/share/icons/hicolor/256x256/apps/rustdesk.png /opt/rustdesk && \
mv /opt/rustdesk/files/rustdesk.desktop /usr/share/applications/ && \
sed -i "/^Icon=/c\Icon=\/opt\/rustdesk\/rustdesk.png" /usr/share/applications/rustdesk.desktop && \
sed -i "/^Exec=/c\Exec=env LD_PRELOAD=\/opt\/rustdesk\/lib \/opt\/rustdesk\/rustdesk" /usr/share/applications/rustdesk.desktop && \
rm -rf /tmp/rustdesk
sed -i '/Desktop Action new-window/,$d' /usr/share/applications/rustdesk.desktop && \
rm -rf /tmp/rustdesk /opt/rustdesk/files
RUN cd /tmp && \
wget -O /tmp/axiom.tar.gz https://github.com/ich777/docker-debian-bookworm/raw/master/90145-axiom.tar.gz && \
@@ -29,17 +30,15 @@ RUN cd /tmp && \
cd /usr/share/locale && \
wget -O /usr/share/locale/locale.7z https://github.com/ich777/docker-debian-bookworm/raw/master/locale.7z && \
p7zip -d -f /usr/share/locale/locale.7z && \
chmod -R 755 /usr/share/locale/ && \
sed -i '/ document.title =/c\ document.title = "DebianBookworm - noVNC";' /usr/share/novnc/app/ui.js && \
mkdir /tmp/config && \
rm /usr/share/novnc/app/images/icons/*
sed -i '/ document.title =/c\ document.title = "DebianBookworm - KasmVNC";' /usr/share/kasmvnc/www/app/ui.js && \
chmod -R 755 /usr/share/locale/
RUN wget -O /usr/share/keyrings/element-io-archive-keyring.gpg https://packages.element.io/debian/element-io-archive-keyring.gpg && \
echo "deb [signed-by=/usr/share/keyrings/element-io-archive-keyring.gpg] https://packages.element.io/debian/ default main" | tee /etc/apt/sources.list.d/element-io.list && \
apt-get update && \
apt-get -y install element-desktop && \
rm -rf /var/lib/apt/lists/* && \
sed -i "s/Exec=\/opt\/Element\/element-desktop.*/Exec=\/opt\/Element\/element-desktop --no-sandbox --disable-accelerated-video --disable-gpu --disable-seccomp-filter-sandbox --dbus-stub %U/g" /usr/share/applications/element-desktop.desktop
sed -i "s/Exec=\/opt\/Element\/element-desktop.*/Exec=\/opt\/Element\/element-desktop --no-sandbox --disable-seccomp-filter-sandbox --dbus-stub %U/g" /usr/share/applications/element-desktop.desktop
RUN mkdir -p /tmp/pinta && cd /tmp/pinta && \
wget -O /tmp/pinta/Pinta-x86-64.AppImage https://github.com/ich777/docker-debian-bookworm/raw/master/Pinta-x86-64.AppImage && \
@@ -52,20 +51,21 @@ RUN mkdir -p /tmp/pinta && cd /tmp/pinta && \
sed -i '/^TryExec=/d' /usr/share/applications/pinta.desktop && \
rm -rf /tmp/pinta
RUN echo "NoDisplay=true" >> /usr/share/applications/x11vnc.desktop && \
echo "NoDisplay=true" >> /usr/share/applications/tvncviewer.desktop
RUN systemctl set-default multi-user.target
ENV DATA_DIR=/debian
ENV FORCE_UPDATE=""
ENV CUSTOM_RES_W=1280
ENV CUSTOM_RES_H=720
ENV CUSTOM_DEPTH=16
ENV NOVNC_PORT=8080
ENV DEPTH=24
ENV HW3D="true"
ENV DRINODE="/dev/dri/renderD128"
ENV FRAMERATE=30
ENV KASMVNC_PORT=8080
ENV KASMVNC_PARAMS="-DisableBasicAuth -PreferBandwidth -FreeKeyMappings -DLP_ClipDelay=0"
ENV KASM_AMDIN_PASSWD="password"
ENV X11VNC="false"
ENV X11VNC_PARAMS="-forever -shared"
ENV RFB_PORT=5900
ENV TURBOVNC_PARAMS="-securitytypes none"
ENV NOVNC_RESIZE=""
ENV NOVNC_QUALITY=""
ENV NOVNC_COMPRESSION=""
ENV RECT_THREADS=1
ENV UMASK=000
ENV UID=99
ENV GID=100
@@ -81,7 +81,6 @@ RUN mkdir $DATA_DIR && \
ulimit -n 2048
ADD /scripts/ /opt/scripts/
COPY /icons/* /usr/share/novnc/app/images/icons/
COPY /config/ /tmp/config/
RUN chmod -R 770 /opt/scripts/

View File

@@ -40,6 +40,20 @@ if [ ! -f ${DATA_DIR}/.config/autostart/light-locker.desktop ]; then
echo "[Desktop Entry]
Hidden=true" > ${DATA_DIR}/.config/autostart/light-locker.desktop
fi
if [ "${HW3D}" == "true" ]; then
HWACCELL="-hw3d -drinode ${DRINODE} "
fi
if [ ! -f ${DATA_DIR}/.kasmpasswd ]; then
echo -e "${KASM_AMDIN_PASSWD}\n${KASM_AMDIN_PASSWD}\n" | kasmvncpasswd -u admin -w
fi
unset KASM_AMDIN_PASSWD
if [ ! -f ${DATA_DIR}/.vnc/.de-was-selected ]; then
if [ ! -d ${DATA_DIR}/.vnc ]; then
mkdir -p ${DATA_DIR}/.vnc
fi
touch ${DATA_DIR}/.vnc/.de-was-selected
fi
echo "---Checking for old logfiles---"
find ${DATA_DIR}/.logs -name "XvfbLog.*" -exec rm -f {} \;
@@ -47,12 +61,11 @@ find ${DATA_DIR}/.logs -name "x11vncLog.*" -exec rm -f {} \;
echo "---Checking for old lock files---"
rm -rf /tmp/.X99*
rm -rf /tmp/.X11*
rm -rf ${DATA_DIR}/.vnc/*.log ${DATA_DIR}/.vnc/*.pid
rm -rf ${DATA_DIR}/.vnc/*.log ${DATA_DIR}/.vnc/*.pid
chmod -R ${DATA_PERM} ${DATA_DIR}
if [ -f ${DATA_DIR}/.vnc/passwd ]; then
chmod 600 ${DATA_DIR}/.vnc/passwd
fi
screen -wipe 2&>/dev/null
chmod 600 ${DATA_DIR}/.kasmpasswd
chown ${UID}:${GID} ${DATA_DIR}/.kasmpasswd
find /var/run/dbus -name "pid" -exec rm -f {} \;
echo "---Starting dbus service---"
@@ -64,17 +77,21 @@ else
fi
sleep 2
echo "---Starting TurboVNC server---"
vncserver -geometry ${CUSTOM_RES_W}x${CUSTOM_RES_H} -depth ${CUSTOM_DEPTH} :99 -rfbport ${RFB_PORT} -noxstartup ${TURBOVNC_PARAMS} 2>/dev/null
echo "---Starting KasmVNC---"
vncserver ${DISPLAY} ${HWACCELL}-FrameRate=${FRAMERATE} -interface 0.0.0.0 -depth ${DEPTH} -RectThreads ${RECT_THREADS} -noxstartup ${KASMVNC_PARAMS} >/dev/null 2>&1
sleep 2
echo "---Starting noVNC server---"
websockify -D --web=/usr/share/novnc/ --cert=/etc/ssl/novnc.pem ${NOVNC_PORT} localhost:${RFB_PORT}
sleep 2
if [ "${X11VNC}" == "true" ]; then
echo "---Starting x11vnc on port: ${RFB_PORT}---"
/opt/scripts/start-x11.sh >/dev/null 2>&1 &
if [ -f ${DATA_DIR}/.vnc/passwd ]; then
chmod 600 ${DATA_DIR}/.vnc/passwd
fi
fi
echo "---Starting Desktop---"
if [ "${DEV}" == "true" ]; then
xfce4-session
xfce4-session --display=${DISPLAY}
else
xfce4-session 2> /dev/null
fi
xfce4-session --display=${DISPLAY} 2> /dev/null
fi

4
scripts/start-x11.sh Normal file
View File

@@ -0,0 +1,4 @@
until x11vnc -display ${DISPLAY} -rfbport ${RFB_PORT} ${X11VNC_PARAMS}; do
echo "x11vnc server crashed with exit code $?. Respawning.." >&2
sleep 1
done

View File

@@ -45,8 +45,7 @@ else
echo "---Locales set correctly, continuing---"
fi
echo "---Checking configuration for noVNC---"
novnccheck
sed -i "/^ websocket_port: /c\\ websocket_port: ${KASMVNC_PORT}" /usr/share/kasmvnc/kasmvnc_defaults.yaml
echo "---Taking ownership of data...---"
rm -R ${DATA_DIR}/.dbus/session-bus/* 2> /dev/null