Skip to content

Latest commit

 

History

History
79 lines (53 loc) · 3.37 KB

README.md

File metadata and controls

79 lines (53 loc) · 3.37 KB

Guacamole on liberty profile

This github repository shows how to create guacamole on a liberty profile server. The default container uses jetty or tomcat as application server.

As IBM open sources liberty profile on OpenLiberty.io Favicon Open Liberty, I found it suitable to create an example on how to use guacamole on IBM liberty profile.

Setup instructions

  1. Edit docker-compose.yml Set the traefik hostname in your label, if needed.
  2. create a file ./user-mapping.xml.
  3. run: docker-compose up --build -d to start the service.
  4. use the selected domain to connect or use docker ps to find the ip and port.

Customization

Exposing the port to the public internet

The docker-compose.yml is pre-configured for use with Træfik favicon træfik. Just create a local branch and change the hostname and URL to a domain which points to your public træfik host.

You may also want to change the name of the external network, which might have a different name (like traefik_websocket or sth.).

Adding plug-ins

Modify the ./guacamole-web/Dockerfile to download additional plugins.

Debugging

Guacamole

Guacamole uses slf4j as logging API and logback as its implementation. To configure logging, just point to a customized logback.xml file using the jvm option -Dlogback.configurationFile=<path>.

The original logback.xml file can be found at :octocat: apache/incubator-guacamole-client/…/logback.xml.

IBM J9 Virtual Machine

All JVM arguments can be added to the file ./guacamole-web/jvm.options. You will need a new build afterwards (or just mount the changed file as a volume). IBM‘s Java J9 Runtime (here: version 8) allows a lot of customization and dumping options. The documentation is excellent and can be found here: 🔗 Using -Xdump options. You can force up to three heap dumps by executing a kill -9 to the liberty java process, and it is possible to create heapdumps at certain events.

Also, by default FFDC (First Failure Data Capture) files are written on the first occurence of an uncaught java exception. They can be found in the directory /config/logs/ffdc and provide a lot of useful information, like a stack trace and loaded libraries. More information on this topic can be found here: 🔗 Liberty Profile Logging.

Source Code of OSS products

Guacamole and guacd

IBM J9 JRE and open liberty application server