Развертывание 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:
- 8080: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
Убеждаемся, что таблицы появились