Hi, Firstly, let me say that I have been using Apache Guacamole for some time now and find the convenience of the official Docker images really useful. Guacamole has proved particularly useful at work and has become an integral part of our support for remote workers.
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. My plan is to create a new Docker image that contains the altered start.sh script and base my future implementations off of that. Before I take that course of action, I want to be sure that I haven't misunderstood how things are working. I have read a lot of documentation and I can't seem to find any other resolution for this issue. I'm not sure whether or not I'm doing something wrong or the start.sh script changes that I use should be made in the source. -- *Regards,* *Chris*