diff --git a/openbox/10-tigervnc.sh b/openbox/10-tigervnc.sh new file mode 100755 index 0000000..0509b37 --- /dev/null +++ b/openbox/10-tigervnc.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +# Check for MYVNC_VNCPASS variable +if [ -z ${MYVNC_VNCPASS} ] +then + echo "MYVNC_VNCPASS env variable is missing" + exit 1 +fi + +# Configure tigervnc auth +if [ ! -f ~/.vnc/passwd ] +then + echo "${MYVNC_VNCPASS}" | vncpasswd -f >~/.vnc/passwd + chmod 0600 ~/.vnc/passwd +fi + +# Remove VNCPASS env +unset MYVNC_VNCPASS + +# VNC xstartup +install /dev/stdin ~/.vnc/xstartup <<- xstartup +#!/usr/bin/env bash +unset SESSION_MANAGER +unset DBUS_SESSION_BUS_ADDRESS +exec ${STARTXBIN} +xstartup + +# Turn vnc sharing on/off +if [[ ${MYVNC_VNCSHARING} == "true" ]] || [[ ${MYVNC_VNCSHARING} == "1" ]] +then + _MYVNC_VNCSHARING=alwaysshared +else + _MYVNC_VNCSHARING=nevershared +fi + +# VNC config +cat >~/.vnc/config <<- vncconfig +session=openbox +geometry=1920x1080 +framerate=60 +depth=32 +${_MYVNC_VNCSHARING} +vncconfig diff --git a/openbox/90-tigervnc.sh b/openbox/90-tigervnc.sh new file mode 100755 index 0000000..70cf0a9 --- /dev/null +++ b/openbox/90-tigervnc.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +# Launch Tigervnc +vncserver :0 & diff --git a/openbox/Dockerfile b/openbox/Dockerfile new file mode 100644 index 0000000..9a15d80 --- /dev/null +++ b/openbox/Dockerfile @@ -0,0 +1,26 @@ +# syntax = docker/dockerfile:1 +FROM myvnc/alpine/base +USER root + +# Build ARG: use "root" for debugging +ARG debug + +# X session environment variable +ENV STARTXBIN=openbox-session + +# Run +RUN apk add --no-cache \ + tigervnc \ + openbox \ + font-dejavu \ + && sed '/<\/applications>/i\ \ +\ \ + true\ \ + no\ \ +' -i /etc/xdg/openbox/rc.xml + +# Tigervnc initialization scripts +COPY *.sh /app/init.d/ + +# Reset user +USER ${debug:-user} diff --git a/openbox/build b/openbox/build new file mode 100755 index 0000000..49f992f --- /dev/null +++ b/openbox/build @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Docker build +# Optional: buildtag +DOCKER_BUILDKIT=1 \ +docker build . \ + --build-arg debug=${debug:-""} \ + --tag ${buildtag:-myvnc/alpine/openbox}