Hi,

Any extensions that you copy into the Docker container within the
directory "/etc/guacamole/" will be automatically relocated to the
correct Guacamole directory. You don't need to create your own image
to use extensions. When your container starts, it will move the
extensions to the correct location (/home/guacamole/.guacamole/).

The same applies to your guacamole.properties file.

You should configure this in the volume:

volumes:

./guacamole:/etc/guacamole

On the host, keep your extensions in: ./guacamole/extensions

I hope this helps! 

On 2024-06-27T05:24:41.000+09:00, Justin Kocian
<jus...@icanotes.com.INVALID> wrote:

> Here is the specific error:
> rm: cannot remove
> '/home/guacamole/.guacamole/extensions/branding.jar': Permission
> denied
> 
> Here is the Dockerfile I used to try to get this to work:
> 
> FROM guacamole/guacamole:latest
> 
> # Copy the custom extension into the image
> COPY ./guacamole/extensions/branding.jar
> /home/guacamole/.guacamole/extensions/
> 
> On Wed, Jun 26, 2024 at 3:16 PM Justin Kocian
> <jus...@icanotes.com> wrote:
> 
>>  Hello all,
>>  
>>  I have Guacamole set up with postgresql via Docker. I was unable
>>  to find documentation specific to adding custom extensions to the
>>  guacamole-client container. I attempted to map the location of the
>>  custom branding.jar extension on my host to the location of the
>>  extensions directory in the image, but received permissions
>>  errors among others. I also attempted to use the EXTENSIONS env
>>  variable, but that did not work either. I've also tried manually
>>  copying the file to the directory using a custom Dockerfile
>>  
>>  Is this supported? Is there another way I should be doing this?
>>  
>>  Thanks in advance.
>>  
>>  For reference, here is the relevant compose:
>>  
>>    guacamole:
>>      image: guacamole/guacamole:latest
>>      container_name: guacamole
>>      environment:
>>        # Guacd connection settings
>>        GUACD_HOSTNAME: guacd
>>        GUACD_PORT: 4822
>>  
>>        # PostgreSQL settings
>>        POSTGRESQL_HOSTNAME: postgresql
>>        POSTGRESQL_PORT: 5432
>>        POSTGRESQL_DATABASE: guacamole_db
>>        POSTGRESQL_USER: guacamole_user
>>        POSTGRESQL_PASSWORD: password here
>>        POSTGRESQL_SSL_MODE: disable
>>  
>>        # LDAP settings
>>        LDAP_HOSTNAME: controller1
>>        LDAP_PORT: 389
>>        LDAP_MAX_SEARCH_RESULTS: 1000
>>        LDAP_SEARCH_BIND_DN: redacted for brevity
>>        LDAP_SEARCH_BIND_PASSWORD: password here
>>        LDAP_USER_BASE_DN: redacted for brevity
>>        LDAP_USER_ATTRIBUTES: cn, givenName, sn, mobile, mail,
>>  userPassword
>>        LDAP_OPERATION_TIMEOUT: 60
>>  
>>        # RDP settings
>>        ENABLE_CLIPBOARD_INTEGRATION: true
>>        EXTENSIONS: auth-ldap,ica-branding
>>      volumes:
>>        -
>>  ./guacamole/extensions:/home/guacamole/.guacamole/extensions
>>        -
>>  
>>./guacamole/guacamole.properties:/home/guacamole/.guacamole/guacamole.properties
>>  
>>[http://guacamole.properties:/home/guacamole/.guacamole/guacamole.properties]
>>      depends_on:
>>        - postgresql
>>        - guacd
>>      ports:
>>        - '8080:8080'
>>  
>>  -- 
>>  
>>           [ICANotes] [https://www.icanotes.com]
>>           JUSTIN KOCIAN
>>  
>>           IT 
>>  
>>           Direct: 
>>  
>>            [https://icanotes-ehr.na1.teamsupport.com/createticket]

Reply via email to