21 Special Tools
IQdesktop contains an inbuilt Shiny-Server, allowing to conveniently share apps with colleagues or other parties of interest. For security reasons, an administrator on a server side installation has full control over the availabvility of the Shiny-Server for a user. On local installations, the user can decide on its own.
If the configuration file enables the access to the Shiny-Server (
ALLOW_SHINY_SERVER=true), then the users home folder will
contain a folder
SHINY-SERVER that is the root folder for the Shiny-Server. Apps placed in this folder will be
visible via the server.
The port on which the Shiny-Server is accessible from the outside of the container is also defined in the
configuration file as:
SHINY_SERVER_PORT is to be replaced by the
desired port number. On multi-user servers the admin would provide a feasible port number. On local systems every
user can decide a port number to be used, although the defaul setting of
If allowed, the Shiny-Server can conveniently be started and stopped by using the play button in the program panel (see figure below). Once started the play button will turn into a stop button.
Note: the play/stop button is only present if the access to the Shiny-Server is allowed and otherwise hidden.
21.1.1 Accessing the Shiny-Server from outside of the container
The Shiny-Server is listening on port
3838inside the container. This inside port is mapped to an outside port
through the configuration file. The Shiny-Server can then be accessed with a web browser at the following addresses:
In the above examples
7900 is the default port for the Shiny-Server and needs to be replaced by the one that was chosen in the config file.
ipaddress is the IP address of the computer on which IQdesktop is running.
21.2 Jenkins CI/CD
Continuous integration / continuous delivery (CI/CD) is commonly used to ensure automatic building, tasting, and delivery of software. Tools such as Jenkins and Travis CI are often used for this purpose.
One challenge with CI/CD is that the CI/CD system is often required to have access to a specific software environment within which the new functionality should be run. Since the burden of maintaining a dedicated CI/CD server over time and over multiple versions of the target computational environment can be very high, it was decided to install Jenkins on IQdesktop itself. In this manner, each version of IQdesktop comes with its own CI/CD functionality and the whole needed tool ecosystem for all testing is readily available.
The Jenkins server can be started from command line by:
sudo service jenkins start
Stopping is done by:
sudo service jenkins stop
Jenkins running on an IQdesktop container charged with CI/CD of IQR Tools