Sign inSign up

heliumdatastage/renci-guacamole-vnc

By heliumdatastage

•Updated almost 7 years ago

This docker contains everything you need to put a remote desktop onto a headless machine,

Image
0

1.7K

heliumdatastage/renci-guacamole-vnc repository overview

⁠Provides remote desktop in a single docker

⁠This docker contains everything you need to put a remote desktop onto a headless machine, such as an Amazon EC2 instance. This docker is based heavily on the oznu/guacamole and the ConSol/docker-headless-vnc-container. We have simplified what we support (only debian and xfce for example) and are using s6 to monitor all of the important processes. The docker creates a user inside the container, but may expect require that user to already exist on the host machine in order to provide access to mapped file systems. Once the docker is installed and running on a machine, you can browse to machineName:8080 and see a functioning xfce desktop, Usage: no-postgres label

docker run -d --name local-combined -p 8080:8080 -h someMachineName -e USERID=9999 -e USER=9999:9999 -e VNC_RESOLUTION=1980x1024 -e VNC_PW=my vncpasswd -e HOME=homedir_for_created_user -e USER_NAME=name_for_created_user -v /etc:/config heliumdatastage/renci-guacamole-vnc:no-postgres:tagname

  • -p 8080 is the port that must be opened for guacamole.
  • -e USERID and -e USER. We have to specify both the USERID and the USER because s6 doesn't support the standard USER parameter.
  • -e VNC_RESOLUTION is the resolution for the created desktop
  • -e VNC_PW is the password for the vnc server. This has to match the password param in the username entry in the user_mapping.xml file used by guacamole.
  • -e HOME is the home directory for the account that will be created.
  • -e USER_NAME is the name of the account that will be created.
  • -v local_guac_config_dir/config specifies the host directory that contains the guacamole config files guacamole.properties and user-mapping.xml
  • -h (optional) the name of the machine to be created

⁠Example Guacamole config files

These example are for basic configuration: see the guacamole manual (https://guacamole.apache.org/doc/gug/⁠) for more options.

  • guacamole.properties: Don't change anything in this file
#    Guacamole - Clientless Remote Desktop
#    Copyright (C) 2010  Michael Jumper
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU Affero General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU Affero General Public License for more details.
#
#    You should have received a copy of the GNU Affero General Public License
#    along with this program.  If not, see http://www.gnu.org/licenses/.
#
# Hostname and port of guacamole proxy
guacd-hostname: localhost
guacd-port:     4822
#
# Auth provider class (authenticates user/pass combination, needed if using the provided login screen)
auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
basic-user-mapping: /etc/guacamole/user-mapping.xml
  • user mapping.xml: replace "example username" with the value of the USER_NAME param above. Replace "example password" with a password. Replace "example vnc password" with the value of VNC_PW above. The "example username" and "example password" are the guacamole credentials used when you browse to machine name:8080
<user-mapping>
    <!-- Example user configurations are given below. For more information,
         see the user-mapping.xml section of the Guacamole configuration
         documentation: (http://guac-dev.org/Configuring%20Guacamole) -->
    <!-- Per-user authentication and config information -->
    <authorize username="example_username" password="example password">
        <protocol>vnc</protocol>
        <param name="hostname">localhost</param>
        <param name="port">5901</param>
        <param name="password">example vnc password</param>
    </authorize>
</user-mapping>

⁠Usage: use-all-defaults label

This docker defines the name and password of the user and includes the required guacamole configuration files. Changing the name and password requires changing several files in the repo and rebuilding the docker. The VNC password and screen resolution are also hard coded. Obviously best used inside a higher security installation. For obvious reasons, the username and password are not provided in this documentation.

docker run --name local-all-defaults -p 8080:8080 -h hlanderDesktop   heliumdatastage/renci-guacamole-vnc:use-all-defaults

* -p 8080 is the port that must be opened for guacamole. 
* -h (optional) the name of the machine to be created
* -v (optional) optional_bin_directory:/usr/local/renci/bin mounts the specified directory to /usr/local/renci/bin.  This is for additional executables such as ImageJ.

⁠Usage: use-all-defaults-with-ohif-and-ortha-latest label

This docker defines the name and password of the user and includes the required guacamole configuration files. In addition this docker contains both a version of the OHIF viewer and orthanc. At init time, the orthanc install is loaded with whatever dicom data sets are in /usr/local/data. There is some sample data that is loaded by default, but you can use a -v to load a different collection of dicom data. Changing the name and password requires changing several files in the repo and rebuilding the docker. The VNC password and screen resolution are also hard coded. Obviously best used inside a higher security installation. For obvious reasons, the username and password are not provided in this documentation.

docker run --name local-all-defaults -p 8080:8080 -h hlanderDesktop   heliumdatastage/renci-guacamole-vnc:use-all-defaults

* -p 8080 is the port that must be opened for guacamole. 
* -h (optional) the name of the machine to be created
* -v (optional) optional_data_directory:/usr/local/data mounts the specified directory to /usr/local/data 

Tag summary

Content type

Image

Digest

Size

683.8 MB

Last updated

almost 7 years ago

docker pull heliumdatastage/renci-guacamole-vnc:with-ohif-google-health