Skip to content
Snippets Groups Projects
Unverified Commit dec79fe3 authored by David Beniamine's avatar David Beniamine Committed by David Beniamine
Browse files

Upgrade to focal and better password management

Password persistance now uses a copy of /etc/shadow file instead of
persisting the whole /etc directory. This makes upgrades safer
parent 57ea7b99
Branches
No related tags found
No related merge requests found
...@@ -10,12 +10,13 @@ services: ...@@ -10,12 +10,13 @@ services:
USER: ${VNCUSER} USER: ${VNCUSER}
SSL_PORT: 443 SSL_PORT: 443
PASSWORD: ${PASSWORD} PASSWORD: ${PASSWORD}
REPO: ${REPO}
expose: expose:
- 443 - 443
- 80 - 80
volumes: volumes:
- vnc_shared:/home/shared - vnc_shared:/home/shared
- etc:/etc - etc_shadow:/opt/shadow
- home:/home - home:/home
shm_size: '2gb' shm_size: '2gb'
cap_add: cap_add:
...@@ -30,7 +31,7 @@ services: ...@@ -30,7 +31,7 @@ services:
- vnc_shared:/srv/shared/ - vnc_shared:/srv/shared/
volumes: volumes:
etc: etc_shadow:
home: home:
vnc_shared: vnc_shared:
external: true external: true
From dorowu/ubuntu-desktop-lxde-vnc:bionic From dorowu/ubuntu-desktop-lxde-vnc:focal as tlvnc
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \ RUN apt-get update \
&& apt-get upgrade -y \ && apt-get upgrade -y \
&& apt-get install -y \ && apt-get install -y \
autoconf \
aspell-es \ aspell-es \
aspell-it \ aspell-it \
autoconf \
chromium-browser \ chromium-browser \
cron \ cron \
emacs \ emacs \
...@@ -16,20 +16,22 @@ RUN apt-get update \ ...@@ -16,20 +16,22 @@ RUN apt-get update \
git-cola \ git-cola \
gnome-system-tools \ gnome-system-tools \
imagemagick \ imagemagick \
inotify-tools \
libaspell-dev \ libaspell-dev \
libreoffice \ libreoffice \
mysql-workbench \
nginx-full \ nginx-full \
pandoc \ pandoc \
poppler-utils \ poppler-utils \
python-pip \
python-virtualenv \
python3-pip \ python3-pip \
python3-virtualenv \ python3-virtualenv \
rename \ 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 convert
RUN update-alternatives --auto identify RUN update-alternatives --auto identify
...@@ -46,20 +48,6 @@ COPY pam_nginx /etc/pam.d/nginx ...@@ -46,20 +48,6 @@ COPY pam_nginx /etc/pam.d/nginx
# Logo # Logo
COPY logo.png /usr/local/share 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 # Add xlaunch script
COPY xlaunch.sh /opt/ COPY xlaunch.sh /opt/
RUN chmod +x /opt/xlaunch.sh RUN chmod +x /opt/xlaunch.sh
...@@ -74,4 +62,6 @@ RUN date > /build_date ...@@ -74,4 +62,6 @@ RUN date > /build_date
COPY start.sh /tlstart.sh COPY start.sh /tlstart.sh
RUN chmod +x /tlstart.sh RUN chmod +x /tlstart.sh
COPY shadow_monitor.sh /
ENTRYPOINT ["/tlstart.sh"] ENTRYPOINT ["/tlstart.sh"]
#!/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
...@@ -219,5 +219,14 @@ fi ...@@ -219,5 +219,14 @@ fi
# Automatically reconnect on connection drop # Automatically reconnect on connection drop
sed -i -e 's/\(autoconnect=1\)/\1\&reconnect=1/' /usr/local/lib/web/frontend/static/js/app.1f2067be7db4becef715.js 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 # run final exec
exec /start.sh exec /start.sh
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment