A basic working desktop that is browser/cloud accessible

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
This commit is contained in:
Vincent Batts 2018-07-24 17:22:46 -04:00
commit 483f3e4758
Signed by: vbatts
GPG key ID: 10937E57733F1362
5 changed files with 59 additions and 0 deletions

20
Dockerfile Normal file
View file

@ -0,0 +1,20 @@
FROM fedora:latest
RUN dnf update -y --refresh && \
dnf install -y @xfce-desktop firefox thunderbird && \
dnf install -y tigervnc-server novnc net-tools git python-numpy && \
dnf clean all && \
git clone https://github.com/kanaka/websockify /usr/bin/websockify && \
adduser -m -u 1000 limited
RUN echo -n limited | passwd --stdin limited
COPY default-vncpasswd /
COPY default-vncxstartup /
COPY default-vncconfig /
ENV PREFERRED="startxfce4"
ENV HOME=/home/limited
RUN chown -R limited /home/limited
USER limited
WORKDIR /home/limited
VOLUME ["/home/limited"]
EXPOSE 5900 6080
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT bash /entrypoint.sh

9
default-vncconfig Normal file
View file

@ -0,0 +1,9 @@
## Supported server options to pass to vncserver upon invocation can be listed
## in this file. See the following manpages for more: vncserver(1) Xvnc(1).
## Several common ones are shown below. Uncomment and modify to your liking.
##
# securitytypes=vncauth,tlsvnc
# desktop=sandbox
# geometry=2000x1200
# localhost
# alwaysshared

1
default-vncpasswd Normal file
View file

@ -0,0 +1 @@
pKя:<3A><><EFBFBD>

10
default-vncxstartup Normal file
View file

@ -0,0 +1,10 @@
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
. /etc/X11/xinit/xinitrc-common
if [ -n "$PREFERRED" ] ; then
exec "$PREFERRED"
else
exec startxfce4
fi

19
entrypoint.sh Normal file
View file

@ -0,0 +1,19 @@
#!/bin/bash
set -e
mkdir -p $HOME/.vnc
if [ ! -f "$HOME/.vnc/passwd" ] ; then
cp -av /default-vncpasswd $HOME/.vnc/passwd
chmod 0600 $HOME/.vnc/passwd
fi
if [ ! -f "$HOME/.vnc/config" ] ; then
cp -av /default-vncconfig $HOME/.vnc/config
fi
if [ ! -f "$HOME/.vnc/xstartup" ] ; then
cp -av /default-vncxstartup $HOME/.vnc/xstartup
chmod +x $HOME/.vnc/xstartup
fi
vncserver :0 -name limited-desktop
novnc_server ${1:"$@"}