123456789101112131415161718192021222324252627282930313233 |
- #!/bin/bash
- # Get query for DB creation
- docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql
- # Create query to update the guacadmin password
- cat >user.sql <<'EOL'
- SET @salt = UNHEX(SHA2(UUID(), 256));
- UPDATE guacamole_user
- SET password_salt = @salt, password_hash = UNHEX(SHA2(CONCAT('_PASSWORD_', HEX(@salt)), 256))
- WHERE user_id = 1;
- EOL
- source .env
- sed -i user.sql -e "s/_PASSWORD_/$PASSWORD/g"
- # Start mysql and create database as it is up
- docker-compose up -d mysql \
- && docker cp initdb.sql mysql:/ \
- && docker exec mysql \
- sh -c "while [ ! -S /var/run/mysqld/mysqld.sock ] ; do sleep 2 && echo 'Wait for mysql to come up...'; done; sleep 5; echo 'go'" \
- && docker exec mysql \
- sh -c "mysql --verbose --user=guacamole --password=guacamole guacamole < /initdb.sql" \
- && docker exec mysql \
- sh -c "mysql --verbose --user=guacamole --password=guacamole guacamole -e 'show tables;'"
- # Update guacadmin password
- docker cp user.sql mysql:/ \
- && docker exec mysql \
- sh -c "mysql --verbose --user=guacamole --password=guacamole guacamole < /user.sql" \
- # Start guacamole
- docker-compose up -d
|