On Mon, Oct 13, 2025 at 10:19 AM Tony Guadagno <[email protected]> wrote:
> Hi, I am new to guacamole and docker so sorry if this is an easy one…but I > am trying to use guacd/guacamole official docker containers with a native > mariadb install. I am starting the guacamole instance this way: > > > > docker run --network=guac-network --name lnb-guacamole -e > MYSQL_HOSTNAME="172.18.0.1" -e MYSQL_DATABASE="guacamole_db" -e > MYSQL_USERNAME="guacamole_user" -e MYSQL_SSL_MODE="disabled" -e > MYSQL_SERVER_TIMEZONE="America/New_York" -e LOG_LEVEL="debug" -e > MYSQL_DRIVER="mariadb" -e MYSQL_PASSWORD="pw" -e GUACD_HOSTNAME="lnb-guacd" > -d -p 8080:8080 guacamole/guacamole > > > > > > I thought I read that guacamole natively supports Mariadb but I guacamole > is throwing errors and I see this in the logs: > > Caused by: java.lang.ClassNotFoundException: org.mariadb.jdbc.Driver > > at > java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445) > > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593) > > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) > > > > > > so it looks like the jdbc driver is not included in the container??? > > > > How do I include the mariadb jdbc driver in the container? > > > It looks like we only download the MySQL driver at this point, so it looks like you'll either have to use the MySQL JDBC driver (which should be compatible with MariaDB), or you'll need to create a template GUACAMOLE_HOME directory and drop the MySQL driver into the "lib" directory of your template. I _think_ the following will work, but have not tried it out, yet, so might need some tweaking: * On your host system, create the /etc/guacamole directory, and create a "lib" folder in that directory. * Drop the MariaDB JDBC driver into the /etc/guacamole/lib directory. * At an option for your guacamole container to map /etc/guacamole from the host to /etc/guacamole in the container. That _should_ be it - the guacamole container should use /etc/guacamole as the template and that JDBC driver should be copied as part of that, and should start up correctly without that error. -Nick >
