Closed xthursdayx closed 2 years ago
Any reason you don't set PUID & PGID?
I do set the PUID & PGID to drop to 911:911
in my services.d run script
using s6-setuidgid
.
I may be confused, but I was under the impression that this user:group/ PUID:PGID combo is the same one that is used by the linuxserer ubuntu baseimage that this guacGUI image is built on. Because of this, I figured it would be simplest for me to keep these same PUID & PGID variables. I could be confused about how this works though.
I do recognize that most other linuxserver-maintained images use nobody:users for the user:group variables, but I wasn't sure if that should be the case in my image. If so, as what point should I set a different PUID & PGID? Before the final run script which launches my app? Or should I keep using s6-setuidgid
in my run script, but just use different PGID & PUID variables?
Apologies if these are stupid questions, as usual, I'm trying to continue learning as I work on my projects. Thanks in advance for any suggestions you might have. Cheers!
No question is stupid. If someone else hasn't answered by Monday. I'll look this over.
On Fri., May 7, 2021, 2:55 a.m. xthursdayx, @.***> wrote:
I do set the PUID & PGID to drop to 911:911 in my sercives.d run script https://github.com/xthursdayx/gpodder-docker/blob/testing/root/etc/services.d/gPodder/run using s6-setuidgid .
I may be confused, but I was under the impression that this user:group/ PUID:PGID combo is the same one that is used by the linuxserer ubuntu baseimage https://github.com/linuxserver/docker-baseimage-ubuntu that this guacGUI image is built on. Because of this, I figured it would be simplest for me to keep these same PUID & PGID variables. I could be confused about how this works though.
I do recognize that most other linuxserver-maintained images use nobody:users for the user:group variables, but I wasn't sure if that should be the case in my image. If so, as what point should I set a different PUID & PGID? Before the final run script which launches my app? Or should I keep using s6-setuidgid in my run script, but just use different PGID & PUID variables?
Apologies if these are stupid questions, as usual, I'm trying to continue learning as I work on my projects. Thanks in advance for any suggestions you might have. Cheers!
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/linuxserver/docker-baseimage-guacgui/issues/32#issuecomment-834186523, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABMJBTITDNDGDHZNNUEOOVTTMOTG7ANCNFSM44HS7ZSQ .
I took a quick look and these seem to be RDP client issues. Fuse is used to share clipboard content and shared folders, and sometime the clipboard from the RDP server fails. The xrdp service has some growing to do, but I do believe it is getting better every time. You can also check if there is different logging options that could be enable to lower the verbosity for xrdp.
On Fri., May 7, 2021, 5:51 a.m. Carlos Hernandez, @.***> wrote:
No question is stupid. If someone else hasn't answered by Monday. I'll look this over.
On Fri., May 7, 2021, 2:55 a.m. xthursdayx, @.***> wrote:
I do set the PUID & PGID to drop to 911:911 in my sercives.d run script https://github.com/xthursdayx/gpodder-docker/blob/testing/root/etc/services.d/gPodder/run using s6-setuidgid .
I may be confused, but I was under the impression that this user:group/ PUID:PGID combo is the same one that is used by the linuxserer ubuntu baseimage https://github.com/linuxserver/docker-baseimage-ubuntu that this guacGUI image is built on. Because of this, I figured it would be simplest for me to keep these same PUID & PGID variables. I could be confused about how this works though.
I do recognize that most other linuxserver-maintained images use nobody:users for the user:group variables, but I wasn't sure if that should be the case in my image. If so, as what point should I set a different PUID & PGID? Before the final run script which launches my app? Or should I keep using s6-setuidgid in my run script, but just use different PGID & PUID variables?
Apologies if these are stupid questions, as usual, I'm trying to continue learning as I work on my projects. Thanks in advance for any suggestions you might have. Cheers!
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/linuxserver/docker-baseimage-guacgui/issues/32#issuecomment-834186523, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABMJBTITDNDGDHZNNUEOOVTTMOTG7ANCNFSM44HS7ZSQ .
I do set the PUID & PGID to drop to
911:911
in mysercives.d run script
usings6-setuidgid
.I may be confused, but I was under the impression that this user:group/ PUID:PGID combo is the same one that is used by the linuxserer ubuntu baseimage that this guacGUI image is built on. Because of this, I figured it would be simplest for me to keep these same PUID & PGID variables. I could be confused about how this works though.
I do recognize that most other linuxserver-maintained images use nobody:users for the user:group variables, but I wasn't sure if that should be the case in my image. If so, as what point should I set a different PUID & PGID? Before the final run script which launches my app? Or should I keep using
s6-setuidgid
in my run script, but just use different PGID & PUID variables?Apologies if these are stupid questions, as usual, I'm trying to continue learning as I work on my projects. Thanks in advance for any suggestions you might have. Cheers!
The PUID & PGID is there so you run the app as the user that has permissions to the /config mount. So you should set the s6-setuidgid to the abc user. The env variables are then set by the user to match the id of the host path for the /config mount. The reason you think it's set to nobody:users is because that is the default in unraid. We set PUID & PGID to 99 & 100 in the templates for unraid.
Oh, I must be confused. I saw the lines:
PUID=${PUID:-911}
PGID=${PGID:-911}
groupmod -o -g "$PGID" abc
usermod -o -u "$PUID" abc
in the LS ubuntu baseimage 10-adduser cont-init.d script and I (perhaps mistakenly?) assumed that meant that the ubuntu baseimage, and therefore this guac baseimage, was running as user:group 911:911 and that 911:911 equaled abc:abc.
Originally, my services.d app run script used s6-setuidgid abc
, but I'd changed it to s6-setuidgid 911:911
because I thought that I was having a permission problem when the container started up because of these tomcat8 errros in the log, which seemed to be permissions errors:
06-May-2021 13:03:14.957 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with JAR file [/usr/share/tomcat8/lib/commons-dbcp.jar], exists: [false], canRead: [false]
06-May-2021 13:03:14.963 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with JAR file [/usr/share/tomcat8/lib/commons-pool.jar], exists: [false], canRead: [false]
06-May-2021 13:03:14.968 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/var/lib/tomcat8/common/classes], exists: [false], isDirectory: [false], canRead: [false]
06-May-2021 13:03:14.968 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/var/lib/tomcat8/common], exists: [false], isDirectory: [false], canRead: [false]
06-May-2021 13:03:14.969 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/usr/share/tomcat8/common/classes], exists: [false], isDirectory: [false], canRead: [false]
06-May-2021 13:03:14.969 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/usr/share/tomcat8/common], exists: [false], isDirectory: [false], canRead: [false]
06-May-2021 13:03:14.972 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/var/lib/tomcat8/server/classes], exists: [false], isDirectory: [false], canRead: [false]
06-May-2021 13:03:14.972 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/var/lib/tomcat8/server], exists: [false], isDirectory: [false], canRead: [false]
06-May-2021 13:03:14.972 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/usr/share/tomcat8/server/classes], exists: [false], isDirectory: [false], canRead: [false]
06-May-2021 13:03:14.973 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/usr/share/tomcat8/server], exists: [false], isDirectory: [false], canRead: [false]
06-May-2021 13:03:14.973 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/var/lib/tomcat8/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
06-May-2021 13:03:14.974 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/var/lib/tomcat8/shared], exists: [false], isDirectory: [false], canRead: [false]
06-May-2021 13:03:14.974 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/usr/share/tomcat8/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
06-May-2021 13:03:14.974 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/usr/share/tomcat8/shared], exists: [false], isDirectory: [false], canRead: [false]
06-May-2021 13:03:15.066 SEVERE [main] org.apache.catalina.startup.Catalina.initDirs Cannot find specified temporary folder at [/var/lib/tomcat8/temp]
I was actually going to create an issue to ask about those lines, but I didn't want to have two issues going at once and I've since noticed that most of the logs I've seen posted from containers that run on this baseimage have those same initial warnings, so I assume it's not a problem? @hurricanehrndz I assume you've seen those warnings in Guac continuer logs as well?
Anyway, if I follow what you're saying @tobbenb I should switch s6-setuidgid
in my run script back to s6-setuidgid abc
and then add PUID & GUID as env variables either in my UNRAID template or Docker Compose/Docker create commands?
For reference, this is the /root/etc/services.d/gPodder/run
script I'm using in my main branch:
#!/bin/execlineb -P
# Redirect stderr to stdout.
fdmove -c 2 1
# Wait until openbox is running
if { s6-svwait -t 10000 -U /var/run/s6/services/openbox/ }
# Drop privileges and set env
s6-setuidgid abc
s6-env DISPLAY=:1 HOME=/config GPODDER_DOWNLOAD_DIR=/downloads LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LC_ALL=en_US.UTF-8
# Execute gPodder
dbus-run-session /gpodder/bin/gpodder
Also, my /root/etc/cont-init.d/50-config
still sets the ownership for /config
and /downloads
as abc:abc
, which I assume is correct. You can see the scrip below for reference:
#!/usr/bin/with-contenv bash
# make our folders
mkdir -p /config/.config/gPodder
# set webserver port on first install
[[ ! -f /config/.config/gPodder/server-config.txt ]] && \
echo "port 8080" > /config/.config/gPodder/server-config.txt
# permissions
chown -R abc:abc \
/config \
/downloads
Use abc and not 911. That is just a random one we chose as a placeholder and is most likely not used in a user or group by default. The permission errors are because you set the it to 911 and unraid uses 99 & 100, so you got a mismatch and doesn't have the right permissions for the /config mount.
So add the env variables in the template and compose example so users can match it to their host user.
You should go through a couple of our containers to see how it's done to get a better overview of how it is done. Also check a random readme for basic info about all our containers. We also have docs.linuxserver.io with alot of info
Thanks a lot for the help @tobbenb !
Other containers I've created haven't used LS baseimages, so I guess I was doing things incorrectly for this baseimage. I did research a bunch of LS (and other) containers when I was building mine (and run a bunch of LS continuers on my UNRAID server). But yeah, I just checked out the linuxser.io docs page. It's really nice to see how they've developed since I last visited! (admittedly a while ago)
As I mentioned I did originally use s6-setuidgid abc
since that's what I saw used in other containers, but guess I didn't realize that I had to set the PGID and PUID as env variables. Will do that now and see how things go.
This is starting to get off topic, and I know it's not you all's responsibility to help me trouble shoot my own container, so I can close it if that's better, but I just wanted to mention that I did as mentioned above, and changed my /root/etc/services.d/gPodder/run
script back to use s6-setuigid abc
(rather than 911:911) and added the variables -e PUID 99
and -e PUID 100
to my UNRAID template for the testing branch. However, for some reason this broke my container.
My Dockerfile installs gPodder using git like this:
RUN echo "**** Installing gPodder ****" && \
git clone https://github.com/gpodder/gpodder.git && \
cd gpodder && \
git checkout $GPODDER_TAG && \
echo "GPODDER_DOWNLOAD_DIR=/downloads" >> ~/.pam_environment
Now I am getting the following errors:
ErrorWarningSystemArrayLogin
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-envfile: executing...
[cont-init.d] 01-envfile: exited 0.
[cont-init.d] 10-adduser: executing...
-------------------------------------
_ ()
| | ___ _ __
| | / __| | | / \
| | \__ \ | | | () |
|_| |___/ |_| \__/
Brought to you by linuxserver.io
-------------------------------------
To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------
User uid: 99
User gid: 100
-------------------------------------
[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 11-moduser: executing...
[cont-init.d] 11-moduser: exited 0.
[cont-init.d] 12-prep_xrdp: executing...
[cont-init.d] 12-prep_xrdp: exited 0.
[cont-init.d] 13-update_app_name: executing...
[cont-init.d] 13-update_app_name: exited 0.
[cont-init.d] 14-configure_openbox: executing...
[cont-init.d] 14-configure_openbox: exited 0.
[cont-init.d] 30-update_webapp_context: executing...
[cont-init.d] 30-update_webapp_context: exited 0.
[cont-init.d] 35-update_guac_creds: executing...
[cont-init.d] 35-update_guac_creds: exited 0.
[cont-init.d] 50-config: executing...
[cont-init.d] 50-config: exited 0.
[cont-init.d] 99-custom-scripts: executing...
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
Unable to find an X display. Ensure you have permission to connect to the display.
X.Org X Server 1.19.6
Release Date: 2017-12-20
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.15.0-140-generic x86_64 Ubuntu
Current Operating System: Linux bc0b97de0796 5.10.28-Unraid #1 SMP Wed Apr 7 08:23:18 PDT 2021 x86_64
Kernel command line: BOOT_IMAGE=/bzimage initrd=/bzroot
Build Date: 08 April 2021 01:57:21PM
xorg-server 2:1.19.6-1ubuntu4.9 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.34.0
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.pid-443.log", Time: Sat May 8 01:02:25 2021
(++) Using config file: "/etc/X11/xrdp/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
guacd[447]: INFO: Guacamole proxy daemon (guacd) version 0.9.14 started
guacd[447]: INFO: Listening on host 127.0.0.1, port 4822
xorgxrdpSetup:
xrdpdevSetup:
rdpmousePlug:
rdpkeybPlug:
rdpIdentify:
rdpDriverFunc: op 10
:
rdpPreInit:
rdpScreenInit: virtualX 800 virtualY 600 rgbBits 8 depth 24
rdpScreenInit: pfbMemory bytes 1920000
rdpScreenInit: pfbMemory 0x148439293010
rdpSimdInit: assigning yuv functions
rdpSimdInit: cpuid ax 1 cx 0 return ax 0x000306e4 bx 0x27200800 cx 0x7fbee3ff dx 0xbfebfbff
rdpSimdInit: sse2 amd64 yuv functions assigned
rdpXvInit: depth 24
rdpClientConInit: kill disconnected [0] timeout [0] sec
rdpScreenInit: out
guacd[447]: INFO: Guacamole connection closed during handshake
rdpmousePreInit: drv 0x5596672a4000 info 0x5596674f03d0, flags 0x0
rdpmouseControl: what 0
rdpmouseDeviceInit:
rdpmouseCtrl:
rdpRegisterInputCallback: type 1 proc 0x14843966cc60
rdpmouseControl: what 1
rdpmouseDeviceOn:
rdpkeybPreInit: drv 0x5596672a31a0 info 0x559667660ff0, flags 0x0
rdpkeybControl: what 0
rdpkeybDeviceInit:
rdpkeybChangeKeyboardControl:
rdpkeybChangeKeyboardControl: autoRepeat on
rdpRegisterInputCallback: type 0 proc 0x148439469530
rdpkeybControl: what 1
rdpkeybDeviceOn:
rdpSaveScreen:
rdpDeferredRandR:
rdpResizeSession: width 1024 height 768
calling RRScreenSizeSet
rdpRRScreenSetSize: width 1024 height 768 mmWidth 271 mmHeight 203
rdpRRGetInfo:
screen resized to 1024x768
RRScreenSizeSet ok 1
rdpInDeferredUpdateCallback:
rdpkeybChangeKeyboardControl:
rdpkeybChangeKeyboardControl: autoRepeat off
rdpRRGetInfo:
Obt-Message: Xinerama extension is not present on the server
Openbox-Message: Unable to find a valid menu file "/var/lib/openbox/debian-menu.xml"
/usr/bin/env: 'python': No such file or directory
ln: target '/gpodder/bin/gpodder' is not a directory
ln: target '/gpodder/bin/gpodder' is not a directory
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
07-May-2021 21:02:27.382 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with JAR file [/usr/share/tomcat8/lib/commons-dbcp.jar], exists: [false], canRead: [false]
07-May-2021 21:02:27.388 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with JAR file [/usr/share/tomcat8/lib/commons-pool.jar], exists: [false], canRead: [false]
07-May-2021 21:02:27.393 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/var/lib/tomcat8/common/classes], exists: [false], isDirectory: [false], canRead: [false]
07-May-2021 21:02:27.393 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/var/lib/tomcat8/common], exists: [false], isDirectory: [false], canRead: [false]
07-May-2021 21:02:27.393 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/usr/share/tomcat8/common/classes], exists: [false], isDirectory: [false], canRead: [false]
07-May-2021 21:02:27.393 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/usr/share/tomcat8/common], exists: [false], isDirectory: [false], canRead: [false]
07-May-2021 21:02:27.396 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/var/lib/tomcat8/server/classes], exists: [false], isDirectory: [false], canRead: [false]
07-May-2021 21:02:27.396 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/var/lib/tomcat8/server], exists: [false], isDirectory: [false], canRead: [false]
07-May-2021 21:02:27.397 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/usr/share/tomcat8/server/classes], exists: [false], isDirectory: [false], canRead: [false]
07-May-2021 21:02:27.397 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/usr/share/tomcat8/server], exists: [false], isDirectory: [false], canRead: [false]
07-May-2021 21:02:27.397 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/var/lib/tomcat8/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
07-May-2021 21:02:27.398 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/var/lib/tomcat8/shared], exists: [false], isDirectory: [false], canRead: [false]
07-May-2021 21:02:27.398 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/usr/share/tomcat8/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
07-May-2021 21:02:27.398 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/usr/share/tomcat8/shared], exists: [false], isDirectory: [false], canRead: [false]
ln: target '/gpodder/bin/gpodder' is not a directory
07-May-2021 21:02:27.484 SEVERE [main] org.apache.catalina.startup.Catalina.initDirs Cannot find specified temporary folder at [/var/lib/tomcat8/temp]
07-May-2021 21:02:28.094 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.5.39 (Ubuntu)
07-May-2021 21:02:28.095 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Sep 9 2019 19:47:51 UTC
07-May-2021 21:02:28.095 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number: 8.5.39.0
07-May-2021 21:02:28.095 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux
07-May-2021 21:02:28.095 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 5.10.28-Unraid
07-May-2021 21:02:28.096 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64
07-May-2021 21:02:28.096 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /usr/lib/jvm/java-11-openjdk-amd64
07-May-2021 21:02:28.096 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 11.0.11+9-Ubuntu-0ubuntu2.18.04
07-May-2021 21:02:28.096 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Ubuntu
07-May-2021 21:02:28.096 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /var/lib/tomcat8
07-May-2021 21:02:28.097 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /usr/share/tomcat8
07-May-2021 21:02:28.097 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMED
07-May-2021 21:02:28.097 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.io=ALL-UNNAMED
07-May-2021 21:02:28.097 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
07-May-2021 21:02:28.097 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/var/lib/tomcat8/conf/logging.properties
07-May-2021 21:02:28.098 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
07-May-2021 21:02:28.098 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
07-May-2021 21:02:28.098 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
07-May-2021 21:02:28.098 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
07-May-2021 21:02:28.098 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
07-May-2021 21:02:28.098 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/var/lib/tomcat8
07-May-2021 21:02:28.098 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/share/tomcat8
07-May-2021 21:02:28.099 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/var/lib/tomcat8/temp
07-May-2021 21:02:28.099 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib]
07-May-2021 21:02:28.139 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
07-May-2021 21:02:28.158 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
07-May-2021 21:02:28.174 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 691 ms
07-May-2021 21:02:28.243 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
07-May-2021 21:02:28.244 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.39 (Ubuntu)
07-May-2021 21:02:28.281 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/var/lib/tomcat8/webapps/ROOT.war]
ln: target '/gpodder/bin/gpodder' is not a directory
ln: target '/gpodder/bin/gpodder' is not a directory
07-May-2021 21:02:29.830 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
21:02:30.250 [localhost-startStop-1] INFO o.a.g.environment.LocalEnvironment - GUACAMOLE_HOME is "/etc/guacamole".
21:02:30.341 [localhost-startStop-1] INFO o.a.g.rest.auth.HashTokenSessionMap - Sessions will expire after 60 minutes of inactivity.
ln: target '/gpodder/bin/gpodder' is not a directory
21:02:30.479 [localhost-startStop-1] INFO o.a.g.environment.LocalEnvironment - GUACAMOLE_HOME is "/etc/guacamole".
21:02:30.605 [localhost-startStop-1] INFO o.a.g.t.w.WebSocketTunnelModule - Loading JSR-356 WebSocket support...
07-May-2021 21:02:30.918 WARNING [localhost-startStop-1] com.google.inject.internal.ProxyFactory.<init> Method [public void org.apache.guacamole.rest.user.UserResource.updateObject(java.lang.Object) throws org.apache.guacamole.GuacamoleException] is synthetic and is being intercepted by [org.apache.guacamole.rest.RESTExceptionWrapper@6577a859]. This could indicate a bug. The method may be intercepted twice, or may not be intercepted at all.
07-May-2021 21:02:31.028 INFO [localhost-startStop-1] com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory.register Registering org.apache.guacamole.rest.extension.ExtensionRESTService as a root resource class
07-May-2021 21:02:31.028 INFO [localhost-startStop-1] com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory.register Registering org.apache.guacamole.rest.language.LanguageRESTService as a root resource class
07-May-2021 21:02:31.029 INFO [localhost-startStop-1] com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory.register Registering org.apache.guacamole.rest.patch.PatchRESTService as a root resource class
07-May-2021 21:02:31.029 INFO [localhost-startStop-1] com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory.register Registering org.apache.guacamole.rest.auth.TokenRESTService as a root resource class
07-May-2021 21:02:31.029 INFO [localhost-startStop-1] com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory.register Registering org.apache.guacamole.rest.session.SessionRESTService as a root resource class
07-May-2021 21:02:31.029 INFO [localhost-startStop-1] com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory.register Registering org.codehaus.jackson.jaxrs.JacksonJsonProvider as a provider class
07-May-2021 21:02:31.032 INFO [localhost-startStop-1] com.sun.jersey.server.impl.application.WebApplicationImpl._initiate Initiating Jersey application, version 'Jersey: 1.17.1 02/28/2013 12:47 PM'
07-May-2021 21:02:31.135 INFO [localhost-startStop-1] com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory.getComponentProvider Binding org.codehaus.jackson.jaxrs.JacksonJsonProvider to GuiceManagedComponentProvider with the scope "Singleton"
ln: target '/gpodder/bin/gpodder' is not a directory
021 21:02:31.642 INFO [localhost-startStop-1] com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory.getComponentProvider Binding org.apache.guacamole.rest.extension.ExtensionRESTService to GuiceManagedComponentProvider with the scope "PerRequest"
07-May-2021 21:02:31.648 INFO [localhost-startStop-1] com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory.getComponentProvider Binding org.apache.guacamole.rest.language.LanguageRESTService to GuiceManagedComponentProvider with the scope "PerRequest"
07-May-2021 21:02:31.648 INFO [localhost-startStop-1] com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory.getComponentProvider Binding org.apache.guacamole.rest.patch.PatchRESTService to GuiceManagedComponentProvider with the scope "PerRequest"
07-May-2021 21:02:31.652 INFO [localhost-startStop-1] com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory.getComponentProvider Binding org.apache.guacamole.rest.auth.TokenRESTService to GuiceManagedComponentProvider with the scope "PerRequest"
07-May-2021 21:02:31.653 INFO [localhost-startStop-1] com.sun.jersey.guice.spi.container.GuiceComponentProviderFactory.getComponentProvider Binding org.apache.guacamole.rest.session.SessionRESTService to GuiceManagedComponentProvider with the scope "PerRequest"
07-May-2021 21:02:31.670 INFO [localhost-startStop-1] org.webjars.servlet.WebjarsServlet.init WebjarsServlet initialization completed
07-May-2021 21:02:31.690 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/var/lib/tomcat8/webapps/ROOT.war] has finished in [3,408] ms
07-May-2021 21:02:31.695 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
07-May-2021 21:02:31.715 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 3540 ms
ln: target '/gpodder/bin/gpodder' is not a directory
ln: target '/gpodder/bin/gpodder' is not a directory
ln: target '/gpodder/bin/gpodder' is not a directory
ln: target '/gpodder/bin/gpodder' is not a directory
ln: target '/gpodder/bin/gpodder' is not a directory
While the org.apache.catalina.startup.ClassLoaderFactory.validateFile
warning still exist. I tried to add /gpodder (the git directory) to my 50-config
script as up can see below, but that didn't seem to resolve the issue.
#!/usr/bin/with-contenv bash
# make our folders
mkdir -p /config/.config/gPodder
# set webserver port on first install
[[ ! -f /config/.config/gPodder/server-config.txt ]] && \
echo "port 8080" > /config/.config/gPodder/server-config.txt
# permissions
chown -R abc:abc \
/config \
/gpodder \
/downloads `
It might be better to jump on our discord to get help with your container.
Did you start with an empty /config? If not, you should try that.
I did start with an empty /config, but yeah. I can close this and get onto the discord when I have a chance if that's better.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
I do not believe fuse support will be compiled out of xrdp to resolve this, reference here for bionic: https://github.com/linuxserver/docker-baseimage-rdesktop/blob/bionic/Dockerfile#L42-L49
The clipboard should be functional though.
In general I would recommend if you are planning on using base image give https://github.com/linuxserver/docker-baseimage-rdesktop-web a try it is actively maintained and is used for all of our desktop containers, IE: https://github.com/linuxserver/docker-firefox
It does not use the stock Guacamole client so that is definitely a downside if that is what you are looking for, but in general I would not expect any new functionality to be implemented in this base image unless a community member steps up.
Expected Behavior
I maintain a gPodder docker image based on this baseimage and have been noticing a few errors in my logs that I wanted to ask about. However, I want to be clear that container seems to be functioning fine, and I haven't run into any problems (so far) as a result of the errors listed below.
Current Behavior
In the previous version of my gPodder image I was getting the following errors in my container logs when starting the container:
and these FUSE and CLIPBOARD errors
To try to fix these errors I added these packages to the Dockerfile of my testing branch:
xfonts-75dpi
andxfonts-100dpi
. This got rid of the FontStruct errors, but not the CLIPBOARD or FUSE errors, and I am still getting the following errors in my container logs:However, I notice that the
clipboard_event_selection_notify
errors are different now in the testing branch container. For example, the first listed error in my previous image version wasunknown atom 0x195
while the first listed error in my current testing version isunknown atom 0x1a7
. I should note that these errors are occurring when no user is doing anything in the container's Guac WebUI interface, i.e. I am not trying to past anything into the container.I have noticed these same errors in the logs other people have posted for containers using this baseimage (or previous versions of it), for example here and here, so I assume that these errors exist in the base image rather than being created as a result of the image my Dockerfile builds.
Steps to Reproduce
docker create --name='gPodder' --net='docker_net' -e TZ="America/New_York" -e HOST_OS="Unraid" -e 'GUAC_USER'='admin' -e 'GUAC_PASS'='5f4dcc3b5aa765d61d8327deb882cf99' -e 'TZ'='America/New_York' -e 'WIDTH'='1280' -e 'HEIGHT'='720' -p '3389:3389/tcp' -p '8080:8080/tcp' -v '/mnt/user/Media/Podcasts/':'/downloads':'rw' -v '/mnt/cache/appdata/gPodder':'/config':'rw' 'xthursdayx/gpodder-docker:testing
Environment
OS: UNRAID CPU architecture: x86_64 How docker service was installed:
I am using DockerMan in UNRAID and my own template from UNRAID's Community Apps.
Command used to create docker container (run/create/compose/screenshot)
As noted, I'm using DockerMan in Unraid with my own template from my template repo which runs the following
docker create
command:docker create --name='gPodder' --net='docker_net' -e TZ="America/New_York" -e HOST_OS="Unraid" -e 'GUAC_USER'='admin' -e 'GUAC_PASS'='5f4dcc3b5aa765d61d8327deb882cf99' -e 'TZ'='America/New_York' -e 'WIDTH'='1280' -e 'HEIGHT'='720' -p '3389:3389/tcp' -p '8080:8080/tcp' -v '/mnt/user/Media/Podcasts/':'/downloads':'rw' -v '/mnt/cache/appdata/gPodder':'/config':'rw' 'xthursdayx/gpodder-docker:testing
Docker logs