Thanks Lorenzo I think I might be close now.
I created Step 3B: Step 3b: CREATE USER 'guacamole_user'@'localhost' IDENTIFIED BY 'dbuserpwd'; GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost'; FLUSH PRIVILEGES sudo cat initdb.sql | sudo docker exec -i quacamole-mysql /usr/bin/mysql -u guacamole_user -p mypassword guacamole_db I ran the above but it did not work, instead a usage details showed eg sysadmin@services:~$ sudo cat initdb.sql | sudo docker exec -i guacamole-mysql /usr/bin/mysql -u guacamole_user -p rjgtpormdsl837dejkl_kl@ guacamole_db /usr/bin/mysql Ver 8.0.33 for Linux on x86_64 (MySQL Community Server - GPL) Copyright (c) 2000, 2023, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Usage: /usr/bin/mysql [OPTIONS] [database] -?, --help Display this help and exit. -I, --help Synonym for -? --auto-rehash Enable automatic rehashing. One doesn't need to use 'rehash' to get table and field completion, but startup and reconnecting may take a longer time. Disable with --disable-auto-rehash. (Defaults to on; use --skip-auto-rehash to disable.) -A, --no-auto-rehash No automatic rehashing. One has to use 'rehash' to get table and field completion. This gives a quicker start of mysql and disables rehashing on reconnect. --auto-vertical-output Automatically switch to vertical output mode if the result is wider than the terminal width. -B, --batch Don't use history file. Disable interactive behavior. (Enables --silent.) --bind-address=name IP address to bind to. --binary-as-hex Print binary data as hex. Enabled by default for interactive terminals. And there was not tables in the database. Is that line meant to do the same as Step 4: sudo docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql or or something else, or should I be running this before 3B? Kind regards André Basel 027 640 2527 Sent with [Proton Mail](https://proton.me/) secure email. ------- Original Message ------- On Thursday, April 27th, 2023 at 19:23, MAURIZI Lorenzo <[email protected]> wrote: > Hello André, > > in step 4 you are creating on current directory a script to initialize the > database, but you don’t mention if you run that script into your mysql > instance, to create database structure. > > If not, you are trying to run Guacamole without a database set up. > > Moreover you are missing MYSQL_DATABASE variable in step 5 (see > https://guacamole.apache.org/doc/gug/guacamole-docker.html#required-environment-variables) > > So i think you should: > > create a new database into the mysql container. > > For this I would use the mysql command from inside the container, to make it > simple, so you should (please note I used your example values, so change them > with the real values): > > docker exec –it quacamole-mysql /bin/bash > > then > > mysql –u root –pmypassword! > > Then in mysql prompt you should create the database > > Mysql>CREATE DATABASE guacamole_db; > > Mysql>GRANT ALL PRIVILEGES ON guacamole_db.* TO 'guacamole_user'@'%' > IDENTIFIED BY ‘mypassword’; > > After that you can issue “exit” twice to go back to the container bash prompt > and then to the server bash prompt outside the mysql container. > > Then you should import the “initdb.sql” script to create database structure: > > cat initdb.sql | docker exec -i quacamole-mysql /usr/bin/mysql -u > guacamole_user -pmypassword guacamole_db > > At this point you should have a complete DB for guacamole. > > Then you should start youd guacamole container (step 5) adding this > environment variable to the command line: > > -e MYSQL_DATABASE=guacamole_db > > I think you should not get the error now. > > I hope that I didn’t write anything wrong! > > Best regards. > > Lorenzo > > Da: André R. Basel <[email protected]> > Inviato: giovedì 27 aprile 2023 07:26 > A: [email protected] > Oggetto: Quacamole docker install > > Hi > > I have been working through the documentation to install Quacamole using > docker. > > The IP of my docker server is 192.168.1.11 > > Base on my understanding of what I read, I did the following: > > Step 1: sudo docker run --name my-guacd -d guacamole/guacd > > Step 2: sudo docker run --name my-guacamole --link my-guacd:guacd -d -p > 8080:8080 --restart unless-stopped guacamole/guacamole > > Step 3: sudo docker run --name quacamole-mysql -e > MYSQL_ROOT_PASSWORD=mypassword! -d --restart unless-stopped mysql:latest > > Step 4: sudo docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh > --mysql > initdb.sql > > Step 5: > > sudo docker run --name my-guacamole \ > > --link my-guacd:guacd \ > > --link guacamole-mysql:mysql \ > > -e MYSQL_HOSTNAME=192.168.1.11 \ > > -e MYSQL_USER=guacamole_user \ > > -e MYSQL_PASSWORD=mypassword \ > > --restart unless-stopped \ > > -d -p 8080:8080 guacamole/guacamole > > However when looking at the logs I get > > FATAL: No authentication configured > > ------------------------------------------------------------------------------- > > The Guacamole Docker container needs at least one authentication mechanism in > > order to function, such as a MySQL database, PostgreSQL database, SQLServer > > database, LDAP directory or RADIUS server. Please specify at least the > > MYSQL_DATABASE or POSTGRES_DATABASE or SQLSERVER_DATABASE environment > variables, > > or check Guacamole's Docker documentation regarding configuring LDAP and/or > > custom extensions. > > My Docker setup looks as follows: > > [image.png] > > I tried following the instructions set the database up but I think I may have > got those confused. > > Is there a simplified set of steps to help a NOOB get it up and running, > after which I can start playing with the different settings? > > Kind regards > > Andre > > Sent with [Proton Mail](https://proton.me/) secure email.
