abesnier / docker-guacamole

A self-contained guacamole docker container for x64. Remotely connect over SSH, RDP or VNC using HTML5.
https://hub.docker.com/r/abesnier/guacamole
GNU General Public License v3.0
78 stars 14 forks source link

I can't configure the extension history-recording-storage #11

Closed lfac76 closed 1 year ago

lfac76 commented 1 year ago

I can't configure the extension history-recording-storage in Guacamole. Could someone who has configured could help me? I did everything that indicates in the manual (https://guacamole.apache.org/doc/1.5.0/gug/recording-playback.html) but didn't work.

abesnier commented 1 year ago

Hi.

Here's how it works:

First, create a 'recordings' folder that can be accessed by docker container. I created a config/guacamole/recordings to make it easy.

Then, amend the guacamole.properties in config/guacamole, and add the following line: recording-search-path: /config/guacamole/recordings

This will override Guacamole's default search location.

Amend your docker-compose.yml, or your docker startup command, to add the history-recording-storage extension.

My docker-compose extension line looks like this now: - EXTENSIONS=auth-totp, history-recording-storage

Restart the container, and make sure the extension is copied in the config/guacamole/extensions folder.

Now setup the recording as per the Guacamole manual. I have setup the recording path as ${HISTORY_PATH}/${HISTORY_UUID}. When a session is closed, you should be able to see in the recordings directory, and see the "View >" link in the History tab:

historylog

And in the selected directory:

recordings

I will add a section in the README to reflect his information.

Please try and revert if this works for you. Cheers

abesnier commented 1 year ago

Readme has been updated:

https://github.com/abesnier/docker-guacamole#i-cant-find-the-session-recordings-in-the-history-panel

lfac76 commented 1 year ago

Hi,

Thanks a lot!!! I'll test, but I think that it's not working because I put the directory in the /config and not in the /config/guacamole.

abesnier commented 1 year ago

Which directory?

In your docker config, you just need to specify the config folder. the container will create guacamole and postgres directories.

The recordings directory needs to be created separately.

Don't hesitate to post your configuration and directory tree if you need more assistance.

Cheers

lfac76 commented 1 year ago

Hi,

I think that I did everything right but it's not working. Any idea why?

Cheers.

docker-compose.yml

version:` "3"
services:
  guacamole:
    image: abesnier/guacamole
    container_name: guacamole
    volumes:
      - $PWD/data:/config
    environment:
      - EXTENSIONS=auth-totp,history-recording-storage
    ports:
      - 8282:8080

guacamole.properties

postgresql-hostname: localhost
postgresql-port: 5432
postgresql-database: guacamole_db
postgresql-username: guacamole
postgresql-password: null

# ldap-hostname: ldap.example.net
# ldap-port: 389
# ldap-encryption-method: none
# ldap-max-search-results: 1000
# ldap-search-bind-dn:
# ldap-search-bind-password:
# ldap-user-base-dn: ou=people,dc=example,dc=net
# ldap-username-attribute: uid
# ldap-user-search-filter: (objectClass=*)

enable-clipboard-integration: true
history-recording-storage: /config/guacamole/recodings

Extensions directory

luiz@Server:~/docker_volumes/guacamole/data/guacamole/extensions$ ll
total 15271
drwxr-xr-x 2 root root        5 Mar  7 09:19 ./
drwxr-xr-x 7 root root        8 Mar  7 09:17 ../
-rw-r--r-- 1 root root 10774697 Feb 27 08:54 guacamole-auth-jdbc-postgresql-1.5.0.jar
-rw-r--r-- 1 root root  4817697 Mar  7 09:19 guacamole-auth-totp-1.5.0.jar
-rw-r--r-- 1 root root    13697 Mar  7 09:19 guacamole-history-recording-storage-1.5.0.jar
luiz@Server:~/docker_volumes/guacamole/data/guacamole/extensions$

Guagcamole Tree

luiz@Server:~/docker_volumes/guacamole/data/guacamole$ tree -h
[   8]  .
|-- [   5]  extensions
|   |-- [ 10M]  guacamole-auth-jdbc-postgresql-1.5.0.jar
|   |-- [4.6M]  guacamole-auth-totp-1.5.0.jar
|   `-- [ 13K]  guacamole-history-recording-storage-1.5.0.jar
|-- [  14]  extensions-available
|   |-- [3.4M]  guacamole-auth-duo-1.5.0.jar
|   |-- [3.4M]  guacamole-auth-header-1.5.0.jar
|   |-- [ 11M]  guacamole-auth-json-1.5.0.jar
|   |-- [ 12M]  guacamole-auth-ldap-1.5.0.jar
|   |-- [3.4M]  guacamole-auth-quickconnect-1.5.0.jar
|   |-- [ 15M]  guacamole-auth-sso-cas-1.5.0.jar
|   |-- [7.0M]  guacamole-auth-sso-openid-1.5.0.jar
|   |-- [10.0M]  guacamole-auth-sso-saml-1.5.0.jar
|   |-- [4.6M]  guacamole-auth-totp-1.5.0.jar
|   |-- [7.4K]  guacamole-branding-1.5.0.jar
|   |-- [ 13K]  guacamole-history-recording-storage-1.5.0.jar
|   `-- [ 20M]  guacamole-vault-ksm-1.5.0.jar
|-- [ 525]  guacamole.properties
|-- [   4]  lib
|   |-- [1022K]  postgresql-42.5.1.jar
|   `-- [1.0M]  postgresql-42.5.4.jar
|-- [   2]  recordings
`-- [   5]  schema
    |-- [ 21K]  001-create-schema.sql
    |-- [2.6K]  002-create-admin-user.sql
    `-- [  10]  upgrade
        |-- [5.7K]  upgrade-pre-0.9.10.sql
        |-- [1.6K]  upgrade-pre-0.9.11.sql
        |-- [1.5K]  upgrade-pre-0.9.13.sql
        |-- [2.2K]  upgrade-pre-0.9.14.sql
        |-- [1.0K]  upgrade-pre-0.9.7.sql
        |-- [1.7K]  upgrade-pre-0.9.8.sql
        |-- [1.2K]  upgrade-pre-0.9.9.sql
        `-- [ 15K]  upgrade-pre-1.0.0.sql

6 directories, 28 files
luiz@Server:~/docker_volumes/guacamole/data/guacamole$

Guacamole Connection Config image

Connection History without logs image

abesnier commented 1 year ago

I believe I found the issue: in the guacamole.properties, the setting defining the directory is not correct. You wrote

history-recording-storage: /config/guacamole/recodings
(with a typo in recoRdings by the way ;-)) where it should be
recording-search-path: /config/guacamole/recordings

abesnier commented 1 year ago

@lfac76 Hi Luis,

Can you revert so that I can close the issue?

Cheers Antoine

lfac76 commented 1 year ago

@abesnier

Hi Antoine,

Sorry for the delay but I had some personal problems and couldn't test this change. I tested and still don't work. :-(

abesnier commented 1 year ago

Sorry to hear that, hope everything's fine now.

I am at a loss about the issue, as it should be working. You could try to run the container with the environment variable GUACD_LOG_LEVEL=debug. that will give you a more detailed log, and maybe point to another solution.

lfac76 commented 1 year ago

Hi,

Now is everthing ok, thanks!

Where do I pick up this detailed log?

Best Regards, Luiz Felipe.

Em seg., 27 de mar. de 2023 às 05:18, abesnier @.***> escreveu:

Sorry to hear that, hope everything's fine now.

I am at a loss about the issue, as it should be working. You could try to run the container with the environment variable GUACD_LOG_LEVEL=debug. that will give you a more detailed log, and maybe point to another solution.

— Reply to this email directly, view it on GitHub https://github.com/abesnier/docker-guacamole/issues/11#issuecomment-1484707853, or unsubscribe https://github.com/notifications/unsubscribe-auth/AT45SGFYV75AX2SKP56OYTTW6FEO7ANCNFSM6AAAAAAVRZMUJU . You are receiving this because you were mentioned.Message ID: @.***>

lfac76 commented 1 year ago

guacd[160]: INFO: Creating new client for protocol "ssh" guacd[160]: INFO: Connection ID is "$5293319f-3e1d-41bf-80dc-6e63a990147a" guacd[230]: INFO: User @.**" joined connection "$5293319f-3e1d-41bf-80dc-6e63a990147a" (1 users now present) guacd[230]: ERROR: Creation of recording failed: No such file or directory* 08:03:19.203 [http-nio-8080-exec-2] INFO o.a.g.tunnel.TunnelRequestService

Em ter., 28 de mar. de 2023 às 05:04, Luiz Felipe Arcos Campos < @.***> escreveu:

Hi,

Now is everthing ok, thanks!

Where do I pick up this detailed log?

Best Regards, Luiz Felipe.

Em seg., 27 de mar. de 2023 às 05:18, abesnier @.***> escreveu:

Sorry to hear that, hope everything's fine now.

I am at a loss about the issue, as it should be working. You could try to run the container with the environment variable GUACD_LOG_LEVEL=debug. that will give you a more detailed log, and maybe point to another solution.

— Reply to this email directly, view it on GitHub https://github.com/abesnier/docker-guacamole/issues/11#issuecomment-1484707853, or unsubscribe https://github.com/notifications/unsubscribe-auth/AT45SGFYV75AX2SKP56OYTTW6FEO7ANCNFSM6AAAAAAVRZMUJU . You are receiving this because you were mentioned.Message ID: @.***>

abesnier commented 1 year ago

That's strange.

The only thing left I see is that the container does not have read/write permission on your directory.

lfac76 commented 1 year ago

Thanks, I will verify that.

Em ter., 28 de mar. de 2023 às 08:10, abesnier @.***> escreveu:

That's strange.

The only thing left I see is that the container does not have read/write permission on your directory.

— Reply to this email directly, view it on GitHub https://github.com/abesnier/docker-guacamole/issues/11#issuecomment-1486663884, or unsubscribe https://github.com/notifications/unsubscribe-auth/AT45SGCUXD36FZQHEX3PVW3W6LBLDANCNFSM6AAAAAAVRZMUJU . You are receiving this because you were mentioned.Message ID: @.***>

lfac76 commented 1 year ago

Hi @abesnier,

After some review I found the problem, the guacamole.properties had the wrong command... It was history-recording-storage not recording-search-path and I don't know why. But now it's perfect.

Thanks a lot!

abesnier commented 1 year ago

Glad that it works!