diff options
Diffstat (limited to 'environments/vncserver')
-rw-r--r-- | environments/vncserver/Dockerfile | 20 | ||||
-rwxr-xr-x | environments/vncserver/entrypoint.sh | 8 | ||||
-rw-r--r-- | environments/vncserver/passwd | 1 | ||||
-rw-r--r-- | environments/vncserver/run.sh | 20 |
4 files changed, 49 insertions, 0 deletions
diff --git a/environments/vncserver/Dockerfile b/environments/vncserver/Dockerfile new file mode 100644 index 0000000..b9e9fe2 --- /dev/null +++ b/environments/vncserver/Dockerfile @@ -0,0 +1,20 @@ +FROM ubuntu:latest + +RUN apt-get update && apt-get install -y tigervnc-standalone-server openssh-server xvfb xterm +RUN mkdir -p /run/sshd /var/run/sshd /root/.vnc /root/.ssh ; \ + echo "root:root" | chpasswd && \ + echo 'Port 2222' >> /etc/ssh/sshd_config && \ + echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config && \ + echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config && \ + echo 'PubkeyAuthentication yes' >> /etc/ssh/sshd_config && \ + echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +EXPOSE 5555 + +COPY passwd /root/.vnc/passwd + +COPY entrypoint.sh /entrypoint.sh + +CMD [ "/entrypoint.sh" ] diff --git a/environments/vncserver/entrypoint.sh b/environments/vncserver/entrypoint.sh new file mode 100755 index 0000000..6c7c1ad --- /dev/null +++ b/environments/vncserver/entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +echo "remmina" >> ~/.vnc/passwd + +# Start the vnc server while only accepting connections through the unix-socket. +# This will prompt the user for a password +vncserver -rfbport=5555 -localhost no -Log *:stderr:100 -xstartup /usr/bin/xterm +tail -f ~/.vnc/*.log diff --git a/environments/vncserver/passwd b/environments/vncserver/passwd new file mode 100644 index 0000000..b37aff4 --- /dev/null +++ b/environments/vncserver/passwd @@ -0,0 +1 @@ +ª‹§‚Â:ÿ~
\ No newline at end of file diff --git a/environments/vncserver/run.sh b/environments/vncserver/run.sh new file mode 100644 index 0000000..2f19341 --- /dev/null +++ b/environments/vncserver/run.sh @@ -0,0 +1,20 @@ +if ! type podman > /dev/null; then + if ! type docker > /dev/null; then + echo "Install podman or docker to use the remmina environments!" + exit 1 + fi + CRT=docker +else + CRT=podman +fi + + +CONTAINER_NAME="vncserver-ssh-socket-forward" +IMAGE_NAME="remmina/environments/vncserver" + +$CRT stop "${CONTAINER_NAME}" +$CRT rm "${CONTAINER_NAME}" + +$CRT build . -t ${IMAGE_NAME} + +$CRT run -p 5555:5555 -v "${PWD}/vnc-server-tmp:/vnc-server-tmp:rw" --rm --name "${CONTAINER_NAME}" -it ${IMAGE_NAME} |