diff --git a/docker-compose.yml b/docker-compose.yml
index 0303740a4002796dead71ef5486fc86c6631a061..2f41dcfe3a85ef57b883507a657d2841146ff36f 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -10,12 +10,13 @@ services:
             USER: ${VNCUSER}
             SSL_PORT: 443
             PASSWORD: ${PASSWORD}
+            REPO: ${REPO}
         expose:
             - 443
             - 80
         volumes:
             - vnc_shared:/home/shared
-            - etc:/etc
+            - etc_shadow:/opt/shadow
             - home:/home
         shm_size: '2gb'
         cap_add:
@@ -30,7 +31,7 @@ services:
             - vnc_shared:/srv/shared/
 
 volumes:
-    etc:
+    etc_shadow:
     home:
     vnc_shared:
         external: true
diff --git a/docker/vnc/Dockerfile b/docker/vnc/Dockerfile
index 347536a5ea240211174d83c2a727b1c989fab84d..80b9bc38c7920d7f7afade7c00238dcbc64db27b 100644
--- a/docker/vnc/Dockerfile
+++ b/docker/vnc/Dockerfile
@@ -1,13 +1,13 @@
-From dorowu/ubuntu-desktop-lxde-vnc:bionic
+From dorowu/ubuntu-desktop-lxde-vnc:focal as tlvnc
 
 ENV DEBIAN_FRONTEND=noninteractive
 
 RUN apt-get update \
     && apt-get upgrade -y \
     && apt-get install -y \
-    autoconf \
     aspell-es \
     aspell-it \
+    autoconf \
     chromium-browser \
     cron \
     emacs \
@@ -16,20 +16,22 @@ RUN apt-get update \
     git-cola \
     gnome-system-tools \
     imagemagick \
+    inotify-tools \
     libaspell-dev \
     libreoffice \
-    mysql-workbench \
     nginx-full \
     pandoc \
     poppler-utils \
-    python-pip \
-    python-virtualenv \
     python3-pip \
     python3-virtualenv \
     rename \
-    vim-nox
+    vim-nox \
+    wget
 
-RUN apt-get purge -y x11vnc
+RUN wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
+RUN dpkg -i mysql-apt-config_0.8.15-1_all.deb
+RUN apt-get update
+RUN apt-get install -y mysql-workbench-community
 
 RUN update-alternatives --auto convert
 RUN update-alternatives --auto identify
@@ -46,20 +48,6 @@ COPY pam_nginx /etc/pam.d/nginx
 # Logo
 COPY logo.png /usr/local/share
 
-## Install latest x11vnc
-RUN mkdir -p /opt
-WORKDIR /opt
-RUN git clone git://github.com/LibVNC/x11vnc
-### Download source deps
-RUN sed -i.bak -e 's/^# \(deb-src .*\)$/\1/' /etc/apt/sources.list
-RUN apt-get update
-RUN apt-get build-dep -y x11vnc
-WORKDIR /opt/x11vnc
-RUN git checkout 0.9.15
-RUN autoreconf -fiv
-RUN ./autogen.sh && ./configure && make && make install
-RUN ln -s /usr/local/bin/x11vnc /usr/bin/x11vnc
-
 # Add xlaunch script
 COPY xlaunch.sh /opt/
 RUN chmod +x /opt/xlaunch.sh
@@ -74,4 +62,6 @@ RUN date > /build_date
 COPY start.sh /tlstart.sh
 RUN chmod +x /tlstart.sh
 
+COPY shadow_monitor.sh /
+
 ENTRYPOINT ["/tlstart.sh"]
diff --git a/docker/vnc/shadow_monitor.sh b/docker/vnc/shadow_monitor.sh
new file mode 100755
index 0000000000000000000000000000000000000000..805d5cce801d7ce1815b48ecb079c20d29767004
--- /dev/null
+++ b/docker/vnc/shadow_monitor.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+sleep 10
+
+while true; do
+    modif=$(inotifywait --event move /etc)
+    echo "Modif : '$modif'"
+    if [ ! -z "$(echo $modif | grep 'MOVED_FROM nshadow')" ]; then
+        echo "Shadow file has changed"
+        sync
+        cp /etc/shadow /opt/shadow/shadow
+    fi
+done
diff --git a/docker/vnc/start.sh b/docker/vnc/start.sh
index da51439bb839569f6558942c73cf35076ca6a52a..32dcaad1bc481ee5d1046569b8fab9cac31269d0 100644
--- a/docker/vnc/start.sh
+++ b/docker/vnc/start.sh
@@ -219,5 +219,14 @@ fi
 # Automatically reconnect on connection drop
 sed -i -e 's/\(autoconnect=1\)/\1\&reconnect=1/' /usr/local/lib/web/frontend/static/js/app.1f2067be7db4becef715.js
 
+if [ -f "/opt/shadow/shadow" ]
+then
+    echo "Copying shadow file"
+    cp /opt/shadow/shadow /etc/shadow
+    sync
+fi
+
+/shadow_monitor.sh &
+
 # run final exec
 exec /start.sh