On Sun, Jun 18, 2023 at 2:57 PM Najib . <[email protected]> wrote:
>
> Hi,
>
>
>
> I have been struggling for hours to get the proper volume mapped to get the 
> session recording and the extension functioning;
>
>
>
> When I enable session recording on a server connection object I see the 
> following in the logs:
>
>
>
> guacd[31]: ERROR:  Creation of recording failed: No such file or directory
>
>
>
> The manual says this is by default stored in /var/lib/guacamole/recordings
>
>
>
> However when entering the container there is no such folder which would make 
> the error understandable.
>

The folder(s) do not exist by default - you have to create them or
mount a volume. In a Docker environment, I'd highly suggest mounting a
volume, which is what you're trying to do, so that's good :-).

>
>
> Then I wanted to change the recording folder by using the 
> recording-search-path option in guacamole.properties. However this sent me on 
> a completely different marry go round. The logs mention this;
>
>
>
> INFO  o.a.g.environment.LocalEnvironment - GUACAMOLE_HOME is 
> "/home/guacamole/.guacamole".
>
> INFO  o.a.g.GuacamoleServletContextListener - Read configuration parameters 
> from "/home/guacamole/.guacamole/guacamole.properties".
>
>
>
> Trying to expose this to the host as a volume makes guacamole crash:
>
> guacamole  | rm: cannot remove '/home/guacamole/.guacamole': Device or 
> resource busy
>
> guacamole  | rm: cannot remove '/home/guacamole/.guacamole': Device or 
> resource busy
>
>
>
>
>
> I also tried following the manual by using the following volume in my docker 
> compose file:
>
>     volumes:
>
>       - /home/guacamole/guacamole-config:/etc/guacamole
>
>
>
> When I put a guacamole.properties file in the host volume it gets ignored.
>

I would not try to mount either /home/guacamole/.guacamole or
/etc/guacamole. The Docker startup script generates the configuration
files during startup, which is probably why you're seeing these
errors, and why any settings you have in your guacamole.properties
file appear to be ignored.

>
>
> The documentation is not clear on this topic and the default path mentioned 
> seem not relevant to docker.This is really an unnecessary painful struggle 
> and very frustrating as all other containers map their volumes just fine. 
> Only stuck with with trying to map SOMETHING out of Guacamole to ultimately 
> get session recording working.
>
>
>
> Complete docker compose can be found here: 
> https://github.com/brolifen/GuacCompose/blob/main/docker-compose.yml

Looking at your current docker-compose, you appear to have the /record
volume mounted from your host to your guacd container. That means
that, in your connection parameters, you should be able to specify a
path starting with /record and guacd will generate the recordings to
that directory. Please keep in mind that, when you enable recordings,
guacd is the process that does the recording, not Guacamole client.

As far as being able to view those recordings in the web UI, since
you're using Docker, you're probably running into the fact that the
startup script does not contain a method to trigger the loading of
that extension. So, even if you were able to get the configuration
into the guacamole.properties file, and mount the same volume as you
have mounted on the guacd container, you're not going to see that in
the web UI because there's nothing to tell it to load the extension
there. This needs to be added into the startup script - I've created a
Jira issue to handle this:

https://issues.apache.org/jira/browse/GUACAMOLE-1813

-NIck

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to