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.

Reply via email to