Hi Mike,
here is the reduced compose.yml (see below)
With your hint about the "GUACAMOLE_HOME" i try to set a new path
"/opt/config" -> The error has changed to (find: ‘/opt/*config/*lib’: No
such file or directory). After create an lib dir in the config folder,
the container boot up, but the container can't load the jdbc-driver i
think, because it is missing in "$GUACAMOLE_HOME/lib". So how can i
obtain a custom branding file via the "$GUACAMOLE_HOME/extensions/" dir
via a docker-volume from the host? This compose-file was used with
official images guacamole 1.5.3,1.5.4 and 1.5.5 without problems and
changes.
*guacamole | ### Cause: java.sql.SQLException: Retrieval of database
credentials failed.*
guacamole | 23:24:14.153 [http-nio-8080-exec-9] WARN
o.a.g.e.AuthenticationProviderFacade - The "postgresql" authentication
provider has encountered an internal error which will halt the
authentication process. If this is unexpected or you are the developer
of this authentication provider, you may wish to enable debug-level
logging. If this is expected and you wish to ignore such failures in the
future, please set "skip-if-unavailable: postgresql" within your
guacamole.properties.
guacamole | 23:24:14.153 [http-nio-8080-exec-9] INFO
o.a.g.a.b.s.InMemoryAuthenticationFailureTracker - Authentication has
failed for address "x.x.x.x" (current total failures: 4/5).
guacamole | 23:24:14.153 [http-nio-8080-exec-9] ERROR
o.a.g.rest.RESTExceptionMapper - Unexpected internal error:
*guacamole | ### Error querying database. Cause:
java.sql.SQLException: Retrieval of database credentials failed.*
guacamole | ### The error may exist in
org/apache/guacamole/auth/jdbc/user/UserMapper.xml
guacamole | ### The error may involve
org.apache.guacamole.auth.jdbc.user.UserMapper.selectOne
guacamole | ### The error occurred while executing a query
docker-compose.yml (old)
services:
guacd:
env_file: .env
build:
context: ./guacamole-server
dockerfile: Dockerfile
container_name: guacd
hostname: guacd
restart: unless-stopped
environment:
GUACD_LOG_LEVEL: debug
volumes:
- ./userfiles:/drive:rw
- ./records:/record:rw
networks:
- guacamole_network
guacamole:
build:
context: ./guacamole-client
dockerfile: Dockerfile
container_name: guacamole
hostname: guacamole
restart: unless-stopped
env_file: .env
volumes:
- ./config:/opt/local:ro
- /etc/localtime:/etc/localtime:ro
depends_on:
- guacd
environment:
GUACAMOLE_HOME: /opt/local
GUACD_LOG_LEVEL: debug
TZ: Europe/Berlin
ALLOWED_LANGUAGES: de, en
REMOTE_IP_VALVE_ENABLED: true
GUACD_HOSTNAME: guacd
POSTGRESQL_HOSTNAME: pg-host
POSTGRESQL_PORT: 5432
POSTGRESQL_DATABASE: guacamole_db
POSTGRESQL_USER: guacamole_user
POSTGRESQL_PASSWORD: xxx
POSTGRESQL_SSL_MODE: require
TOTP_ENABLED: true
EXTENSION_PRIORITY: '*, openid, saml'
SKIP_IF_UNAVAILABLE: 'openid,saml'
SAML_STRICT: false
SAML_IDP_METADATA_URL: https://saml.domain.tld
SAML_IDP_URL: https://saml.domain.tld
SAML_ENTITY_ID: https://domain.tld
SAML_CALLBACK_URL: https://domain.tld/
OPENID_AUTHORIZATION_ENDPOINT: https://openid.domain.tld
OPENID_CLIENT_ID: xxx
OPENID_ISSUER: https://openid.domain.tld/
OPENID_JWKS_ENDPOINT: https://openid.domain.tld/
OPENID_REDIRECT_URI: https://domain.tfl/
OPENID_USERNAME_CLAIM_TYPE: username
links:
- guacd
labels:
traefik.docker.network: proxy
traefik.enable: "true"
...
networks:
- guacamole_network
- proxy
networks:
proxy:
external: true
guacamole_network:
external: false
Am 16.02.2025 um 18:26 schrieb Michael Jumper:
Can you share your full docker-compose.yml, redacted as necessary?
Custom extensions and guacamole.properties continue to be supported
through the same mechanism as past releases (pointing the
GUACAMOLE_HOME environment variable at the directory containing your
configuration). There are now additional mechanisms that are simpler
and more flexible, but nothing that was supported for the Docker
images in 1.5.5 has been removed.
- Mike
On 2/16/25 8:28 AM, Tobias Feller | OPC wrote:
Hi Mike,
i found the problem.
i had an docker volume set up:
${BASEDIR}/config:/opt/local:ro
where my custom-branding extension and my guacamole.properties resist:
ls config
extensions guacamole.properties
seems that this is not supported any more in this style, on 1.5.5 it
was still working.
where can i put this files now? Is there a new location for this? Or
is the "mkdir /opt/local" only missing in the Dockerfile?
guacamole@guacamole:/opt$ ls
guacamole java
Thanks,
Tobias
Am 15.02.2025 um 17:41 schrieb Michael Jumper:
Can you send your full docker-compose.yml (redacted as necessary)?
The only issue I see with what you've shown below is that the copy
of guacamole-server is being taken directly from the "staging/1.6.0"
branch and thus will not have the pending changes from previously
mentioned PR:
https://github.com/apache/guacamole-server/pull/573
- Mike
On 2/15/25 1:04 AM, Tobias Feller | OPC wrote:
Hi Mike,
i have testet the staging/1.6.0 (docker), but have some problems to
bring it up.
What i have done...
git clone --single-branch --branch staging/1.6.0
https://github.com/ apache/guacamole-server.git
git clone --single-branch --branch staging/1.6.0
https://github.com/ apache/guacamole-client.git
Customize my working docker-compose.yml file from image:
#image: guacamole/guacd:latest
build:
context: ./guacamole-server
dockerfile: Dockerfile
#image: guacamole/guacamole:latest
build:
context: ./guacamole-client
dockerfile: Dockerfile
docker compose build
both images was build succesful, but after:
docker compose up
the client-image didn't boot up...
guacd | guacd[1]: INFO: Guacamole proxy daemon (guacd)
version 1.6.0 started
guacd | guacd[1]: DEBUG: Successfully bound AF_INET socket
to host 0.0.0.0, port 4822
guacd | guacd[1]: INFO: Listening on host 0.0.0.0, port 4822
*guacamole | find: ‘/opt/local/lib’: No such file or directory
*guacamole exited with code 0
Do i need to customize something in the Dockerfile?
Thanks.
Best regards,
Tobias
Am 15.02.2025 um 08:51 schrieb Michael Jumper:
Well, I'm no longer able to reproduce the issues I was
encountering before. Performance of all protocols seems to be
excellent when using a build with:
* Current "staging/1.6.0" for guacamole-client
* The proposed fixes for guacamole-server: https://github.com/
apache/ guacamole-server/pull/573
Using purely the above (no third-party images), is anyone still
encountering issues? If so, what does your deployment look like in
terms of resources and software?
If not, then we may well be good to go...
- Mike
--
OPC® cardsystems GmbH
Phone: +49 651 8408-0 | Fax: +49 651 8408-150
E-Mail:tfel...@opc.de | Internet:www.opc.de
Geschäftsführer: Dipl.-Ing. (FH) Klaus Dieter Schömer
Registergericht: Amtsgericht Wittlich | HRB-Nr.: 3903