Skip to main content

Развертывание Guacamole в 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

Логинимся и добавляем нового пользователя и подключения