Развертывание Guacomole в Docker на Ubuntu серверв связке с MAria Db
Устанавливаем Docker и DockerCompose на сервер с мана на официальной странице
Далее ставим Portainer для удобства администрирования
Разворачиваем стэк при помощи следующего compose файла
# Use root/example as user/password credentials
version: '3.1'
services:
db:
image: mariadb
restart: always
environment:
MARIADB_ROOT_PASSWORD: homeassistant
adminer:
image: adminer
restart: always
ports:
- 8070:8080
Сам Guacomole состоит из трех контейнеров - это
1.guacamole/guacd - Сам Демон-ядро
2.guacamole/guacamole - Сама вэб морда
3.Поднятый выше контейнер базы данных
После поднятия базы - заходим в вебморду adminer и выполняем SQL скрипт
CREATE DATABASE guacamole_db;
CREATE USER 'guacamole_user'@'%' IDENTIFIED BY 'StrongPassw0rd';
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'%';
FLUSH PRIVILEGES;
Этот скрипт создаст саму базу и пользователя с необходимыми правами
Далее нужно извлечь скрипт, который наполнит созданную базу таблицами и установит связи, я этого получаем скрипт из контейнера
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql
Этот файл (initdb.sql) извлечется в папку откуда выполнялась команда
Далее копируем этот файл любыми способами внутрь контейнера либо через docker cp либо через Volume примаунтиные к контейнерам. Подключаемся к консоли контейнера MariaDb, переходим в каталог со скриптом и запускаем выполнение этого скрипта командой
cat initdb.sql | sudo mariadb -u root -p guacamole_db
Убеждаемся, что таблицы появились
Далее ставим контейнер демона
docker run --name some-guacd -d guacamole/guacd
Далее поднимаем сам контейнер Guacamole
docker run --name some-guacamole --link some-guacd:guacd --link core-mariadb-db-1:mysql -e MYSQL_DATABASE=guacamole_db -e MYSQL_USER=guacamole_user -e MYSQL_PASSWORD=StrongPassw0rd -e MYSQL_AUTO_CREATE_ACCOUNTS=true -d -p 8080:8080 guacamole/guacamole
Доступ будет по ссылке http://192.168.1.200:8080/guacamole/
Стандартный логин и пароль guacadmin
Логинимся и добавляем нового пользователя и подключения