flcontainers / guacamole

A Docker Container for Apache Guacamole, a client-less remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH over HTML5. For x64, arm64 and ppc64le.
https://hub.docker.com/r/flcontainers/guacamole
GNU General Public License v3.0
343 stars 65 forks source link

Tomcat error with version 1.5.0 #76

Closed erik-de-bont closed 1 year ago

erik-de-bont commented 1 year ago

I am getting the tomcat error (see screenshot) with the docker container flcontainers/guacamole:latest (and testing) version. The previous version maxwaldorf/guacamole:1.4.3 is working fine.

error

MaxWaldorf commented 1 year ago

Are you running PUID or PGID parameters?

erik-de-bont commented 1 year ago

No I am not using PUID or PGID paramaters. I did manage to get it to work via a workaround.

docker run -d \
  --name=guacamole \
  -e TZ="Europe/Amsterdam" \
  -e EXTENSIONS="auth-totp" \
  -p 8080:8080 \
  -v /volume1/docker/guacamole/config:/config \
  -v /volume1/docker/guacamole/opt/tomcat/logs:/opt/tomcat/logs \
  -v /etc/localtime:/etc/localtime:ro \
  --restart unless-stopped \
flcontainers/guacamole:latest

I have mounted the /opt/tomcat/logs to my NAS volume, and set the owner to 1000 and group to 1000 on the NAS folder. It is working now, since the tomcat logs can be created.

MaxWaldorf commented 1 year ago

Ok, then you're doing something wrong with your mount for the simple reason that rights are not good on your folder for the logs...

Connect from the container and change the rights to "tomcat" user... (which is not the same between host and guest)

I will reject the bug as this is not an intended use of that container and I assume people understand the concept of proper rights management when mounting folders.

erik-de-bont commented 1 year ago

I think it is a bug. And what you suggested is exactly what I did, since the tomcat user has id 1000 (see screenshot, which is a console from within the container). The reason I had to mount /opt/tomcat/log to external storage since the tomcat account does not seem to be able to write to that folder within the container. This issue doesn´t occur in version 1.4.3 which was working fine without the workaround.

image

MaxWaldorf commented 1 year ago

Sorry but I don't how this is a bug given that the docker file stipulate ownership of the folder to the tomcat user.

So unless you have a specific legacy config or host config, this is not supposed to happen.

Check the docker file and see if you have ways to fix it based on your situation.

clb92 commented 1 year ago

I'm having the same problem after upgrading from maxwaldorf/guacamole:1.4.0 on my Synology. I've also created a brand new container with empty config folder, and same thing happens. On another server (running Unraid) the problem did not happen.

@erik-de-bont Do you happen to run this on a Synology too?

clb92 commented 1 year ago

My solution was to shell in as root, touch /opt/tomcat/logs/catalina.out, chmod 777 /opt/tomcat/logs/catalina.out (don't judge me for the 777, I'm lazy and couldn't be arsed to figure out the correct permission and owner for it to work) and restart the container, now it starts properly.

EDIT: Oh, I need to run that every time the container starts, but before tomcat starts.

erik-de-bont commented 1 year ago

@clb92 I had the same issue on a Synology NAS. After that fix I still has issues with the first time login of guacadmin, after that I switched to another image which didn´t had the issue and seems to work better with the docker version of Synology DSM.

MaxWaldorf commented 1 year ago

I tried to help with the newest dev version of my container...

Let me know if that works in a few hours

clb92 commented 1 year ago

newest dev version

That'll be the flcontainers/guacamole:testing image, correct?

I would test it now, but I'm currently rebuilding my RAID array on that server, so it'll have to wait a bit.

clb92 commented 10 months ago

Sorry for not testing it earlier, I've been super busy and stressed out these last months, but there's no change for me with dev version, unfortunately.