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 Open Liberty, I found it suitable to create an example on how to use guacamole on IBM liberty profile.
- Edit docker-compose.yml Set the traefik hostname in your label, if needed.
- create a file
./user-mapping.xml
. - run:
docker-compose up --build -d
to start the service. - use the selected domain to connect or use
docker ps
to find the ip and port.
The docker-compose.yml
is pre-configured for use with
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.).
Modify the ./guacamole-web/Dockerfile
to download additional plugins.
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 apache/incubator-guacamole-client/…/logback.xml.
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.
- Client (war file): apache/incubator-guacamole-client.
- Server (guacd): apache/incubator-guacamole-server.
- Open Liberty: OpenLiberty.
- IBM J9 JRE v1.8 is not open sourced.
- The upcoming Eclipse J9 JRE v9 is open source: Eclipse/openj9.