On Sun, May 27, 2018 at 5:59 AM, Chris Duncan <cell...@gmail.com> wrote: > ... > > For quite a while I have been fiddling with the branding of Apache Guacamole > using the guacamole/guacamole Docker image, namely swapping out the logo, > favicon and application title text for custom alternatives. > To accomplish this, I have successfully created an extension .jar file and > placed it in the $GUACAMOLE_HOME directory. However, I am not satisfied with > my solution as it requires some manual manipulation of a running container. > > If I use an unaltered version of the start.sh script then I lose my branding > after a container restart because the $GUACAMOLE_HOME directory is deleted > and recreated in the script. Also, if I use a docker volume bind mount to > provide my extension .jar, the container fails to start because when the > start.sh script tries to delete $GUACAMOLE_HOME, the extensions directory is > in use by the bind mount. > > Currently, I have altered the start.sh script by removing the 'rm -Rf > $GUACAMOLE_HOME' line and replacing all 'ln -s' commands with 'ln -sf' so > that necessary files and directories persist after container restarts. Then > I use the 'docker container cp' command to copy my .jar to > /root/.guacamole/extensions in the running container. Then I restart the > container and my changes are displayed and persist after subsequent > restarts. >
If you have a custom extension which you want to be taken into account by the Docker image, the prescribed mechanism is: 1) Place that extension within some sensible directory on the server which will run the Docker container 2) When creating your container, specify that directory as a volume mount, and point to the mounted location within the image using the GUACAMOLE_HOME environment variable The start.sh script will then automatically copy things in place during startup, and your configuration will persist across restarts. http://guacamole.apache.org/doc/gug/guacamole-docker.html#guacamole-docker-guacamole-home - Mike