Hello Tifaine,

you don't need to make two volumes. You need only the volume for guacamole 
home, then into the "real" directory you create the "extensions" subdir, and 
that's all.

root@it-net-guacamole:/opt/guacamole-docker# ls -ln guacamole-home/
total 8
drwxr-xr-x 2 0 0 4096 Jul  6  2022 extensions
-rw-r--r-- 1 0 0  459 May 18  2022 guacamole.properties

You may need to chown the "real" guacamole home directory to the same UID and 
GID of the user running guacamole inside the docker container (but, as you can 
see, I didn't need to do this, as those files are only read by guacamole 
client, I believe).
In any case, the UID of the user running tomcat into the guacamole client 
container is 1000 (I am still using the guacamole 1.4.0 image but I think the 
UID has been preserved in the newer image).

HTH
Best regards.

Lorenzo


Da: Tifaine RIVOIRE OPTI Sécurité <[email protected]>
Inviato: mercoledì 23 agosto 2023 12:03
A: [email protected]
Oggetto: RE: activate extensions with docker-compose

Hi ty for your answers,

First, I upgrade Guacamole to 1.5.3 where history-recording bug is fixed.

Then, I tried your solution and I think I'm not far.
I first create the volume with my guacamole home and it works well.
Next, I create the volume for the directory extension but my container always 
crash.

In the docker logs I can see "'/home/guacamole/.guacamole/extensions': 
Permission denied"
The directory belongs to guacamole user and I'm working with root and my 
attempts to change user didn't work.
Is it possible to force docker-compose to use guacamole user ?

--
T. RIVOIRE

De : MAURIZI Lorenzo 
<[email protected]<mailto:[email protected]>>
Envoyé : mercredi 23 août 2023 09:46
À : [email protected]<mailto:[email protected]>
Objet : R: activate extensions with docker-compose

Hi Tifaine,

is the guacamole-home directory set as a persistent volume in the docker 
command line?

This is my setup, I use docker compose plugin.

In my docker-compose.yml file I added a volume

volumes:
      - ${PWD}/guacamole-home:/guacamole-home

Then in my ${PWD} I created a guacamole-home subdir, and into it I created 
another subdir "extensions" and put my branding jar into this subdir. In this 
way the content of this subdir is persistent.
I used this directory also for the TOTP plugin before discovering that it could 
be activated with a simple environment variable (thanks to Nick Couchman for 
the help given).

HTH
Best regards.

Lorenzo


Da: Tifaine RIVOIRE OPTI Sécurité 
<[email protected]<mailto:[email protected]>>
Inviato: mercoledì 23 agosto 2023 09:26
A: [email protected]<mailto:[email protected]>
Oggetto: activate extensions with docker-compose

Hi all,

I want to customize my Guacamole main page.
I've found an easy extension for doing it : 
https://github.com/Zer0CoolX/guacamole-customize-loginscreen-extension
Like in the tutorial, I have copied the .jar file in the extensions directory.
After a restart nothing happens.

I'm using Guacamole via Docker. It seems that my extensions are only working 
when they are specified in my docker-compose and not when I just place them in 
extensions directory.
I already got this issue with totp extension where I need to add this lines for 
extensions to work :

  guacamole:
    container_name: guacamole_compose
    environment:
      ACCEPT_EULA: "Y"
      EXTENSIONS: "auth-ldap,auth-totp,history-recording-storage"

It seems that add auth-ldap and auth-totp in line EXTENSIONS allow extensions 
to work. It automatically place the .jar file on startup in 
/home/guacamole/.guacamole/extensions and extensions are working well.

I have made some tests, adding branding in line EXTENSIONS, but nothing 
happens. I got the same problem with history-recording-storage which is not 
working.

For example, with :

EXTENSIONS: "auth-ldap,auth-totp,history-recording-storage,branding"

Got only this two extensions enabled  :

/home/guacamole/.guacamole/extensions# ls
guacamole-auth-jdbc-postgresql-1.5.2.jar  guacamole-auth-ldap-1.5.2.jar

If I place manually the extensions in the directory, after a reboot, 
branding.jar disappear.
I find out that there is symbolic links from extensions directory to my 
guacamole home directory.

/home/guacamole/.guacamole/extensions# ls -l
total 4
lrwxrwxrwx 1 guacamole guacamole 66 Aug 23 07:19 
guacamole-auth-jdbc-postgresql-1.5.2.jar -> 
/opt/guacamole/postgresql/guacamole-auth-jdbc-postgresql-1.5.2.jar
lrwxrwxrwx 1 guacamole guacamole 49 Aug 23 07:19 guacamole-auth-ldap-1.5.2.jar 
-> /opt/guacamole/ldap/guacamole-auth-ldap-1.5.2.jar

I've tried to create a directory named branding in /opt/guacamole. I place my 
extension in it.
Create a link between /opt/guacamole /branding/branding.jar and 
/home/guacamole/.guacamole/extensions/branding.jar.
After reboot, branding extension still disappear...

Do you have any idea ?



--
T. RIVOIRE

Reply via email to