Часто задаваемые вопросы#
Список основных вопросов, возникающих в процессе установки и эксплуатации приложения.
Как настроить восстановление работоспособности приложения при сбое?#
В основе приложения лежит оркестратор Docker Swarm, который автоматически восстановит работоспособность приложения, если оно было аварийно завершено. Docker Swarm также восстановит работу приложения при перезагрузке сервера.
Добавьте сервис Docker в список автоматически загружаемых сервисов, чтобы приложение восстанавливало работоспособность без необходимости прибегать к ручным действиям.
Как сбросить данные неудачной установки или удалить приложение?#
Для удаления данных и остановки всех сервисов приложения перейдите в директорию с установщиком и воспользуйтесь командой:
Внимание
Удаление приложения приведет к потере всех пользовательских данных.
Как сделать резервные копии баз данных?#
Создание резервной копии данных#
Для снятия резервных копий баз данных необходимо выполнить скрипт backup_db.py
из директории установщика:
После выполнения скрипта резервная копия данных будет сохранена по пути root_mount_path/backups/data_time
, где:
data_time — метка времени создания бэкапа.
root_mount_path — путь к данным приложения, указанный в файле
global.yaml
.
Создаются следующие архивы:
mysql.tgz — архив с общими данными приложения (база пользователей, очереди задач и т.д.).
mysql_company_1.tgz — архив с данными пространства для общения (сообщения, данные файлов, участники и т.д.). Каждое пространство для общения имеет свою собственную базу данных.
configs.tgz — архив конфигурационных файлов (global.protected.yaml, global.yaml).
Восстановление данных из резервной копии#
Запустите скрипт для восстановления резервной копии:
При запуске скрипта вам будет предложено:
Выбрать нужный бэкап из списка доступных копий.
Подтвердить удаление текущих данных и завершение работы приложения.
После подтверждения начнется процесс восстановления данных из выбранного бэкапа и обновления приложения.
Настройка регулярного создания бэкапов#
Чтобы настроить регулярное создание резервных копий, добавьте выполнение скрипта в crontab. Откройте crontab для редактирования, выполнив команду:
Затем добавьте следующую строку для выполнения бэкапа, например, каждый день в 02:00 утра:
Для настройки расписания выполнения бэкапа, можно воспользоваться сайтом crontab guru, который поможет легко подобрать нужное время.
Полный путь к файлу backup_db.py
можно получить с помощью команды, выполняемой в директории установщика:
Внимание
Пожалуйста, обратитесь к специалистам Compass в пространстве поддержки On-premise, Telegram или на почту support@getcompass.ru, чтобы получить индивидуальную поддержку.
Как обновить сертификат?#
Для обновления текущего сертификата достаточно заменить его файлы. Файлы должны иметь те же имена и располагаться в той же директории, что и файлы, указанные в разделе конфигурирования при установке приложения. Далее необходимо обновить конфигурацию веб-сервера:
Обновить сертификаты на хостовом веб-сервере:
Обновить сертификаты в контейнерах:
Как изменить IP-адрес в настройках приложения и базе данных?#
В директории установщика onpremise-installer найдите файл configs/global.yaml
.
Откройте его любым текстовым редактором и укажите новый IP-адрес для параметра host_ip:
host_ip: "<Новый IP адрес вашего сервера>"
Выполните команду обновления в директории установщика:
Выполните команду для обновления IP-адреса в базе данных контейнера php-monolith, подставив новый IP-адрес:
Примечание
В двух примерах ниже указан путь /home/compass
, который является значением по умолчанию.
Если ваш путь отличается, уточните его в параметре root_mount_path в файле configs/global.yaml
и замените в командах соответствующие значения.
Выполните замену старого IP на новый в файлах конфигурации приложения. Для этого используйте следующую команду, подставив соответствующие значения для старого и нового IP:
Обновите timestamp в конфигурационных файлах командой:
Перезапустите микросервисы, используя следующую команду:
Как перенести Compass на новый сервер?#
Сохранение и отправка данных приложения на новый сервер#
Для переноса данных на другой сервер требуется прокинуть ключ без passphrase(passphrase при создании ключа нужно оставить пустым) на удаленный сервер, где будет разворачиваться копия:
Для сохранения и отправки данных приложения необходимо выполнить скрипт backup_all_data.py
из директории установщика.
В скрипт передается параметр -dst, в котором:
remote_server_user — логин для подключения к удаленному серверу.
remote_server_ip — ip удаленного сервера.
remote_backup_folder - папка, в которую необходимо сохранить копию данных (например /home/).
После выполнения скрипта резервная копия данных будет сохранена по пути remote_backup_folder
на новом сервере.
В папку remote_backup_folder/installer
копируется инсталлятор приложения, чтобы вы могли им воспользоваться на новом сервере.
Разворачивание приложения на новом сервере#
Если на новом сервере отсутствует пользователь www-data, нужно его создать.
Перенесите инсталлятор из папки remote_backup_folder/compass/installer
в отдельную папку на новом сервере, где:
remote_backup_folder - папка, в которую был перенесены данные Compass.
Измените по необходимости параметры в файле конфигурации installer_folder/configs/global.yaml
:
host_ip
на IP нового сервера.root_mount_path
на новое расположение данных Compass на сервере.
Перенесите данные приложения в папку root_mount_path
, которая указана в файле конфигурации installer_folder/configs/global.yaml
.
Установите необходимые права на перенесенные данные сервера в папке root_mount_path
.
Запустите скрипт для восстановления резервной копии из папки с инсталлятором:
При запуске скрипта вам будет предложено:
Выбрать нужный бэкап из списка доступных копий.
Подтвердить удаление текущих данных и завершение работы приложения. Если на новом сервере не было установлено приложение Compass, то ничего удалено не будет.
После подтверждения начнется процесс восстановления данных из выбранного бэкапа и обновления приложения.
Напишите нам в пространстве поддержки On-premise, Telegram или на почту support@getcompass.ru, чтобы получить индивидуальную демонстрацию функционала и помощь по вопросам интеграции мессенджера в вашей компании.