- RestFS - компонент обеспечивающий HTTP API для работы с файлами.
- GlusterFS - распределенная файловая система, обеспечивающая надежное хранилище (необязательный компонент для систем без резервирования).
На уровне системы существует реестр кластеров RestFS, с которыми может работать система.
По умолчанию в реестре кластеров RestFS есть кластер default, который мапится в URL: http://system.restfs.ecss:9990
Имя кластера RestFS может быть любым, кроме system
, а так же не может начинаться на http://
, https://
, ftp://
, file://
.
Кластер RestFS с именем default не может быть удален.
На уровне системы команды по управлению/мониторингу RestFS располагаются по пути /restfs.
На уровне виртуальной АТС - /domain/<DOMAIN>/restfs/.
Настройки RestFS для одной ноды
Для запуска RestFS в режиме одной ноды достаточно поставить пакет ecss-restfs-3.11 и запустить сервис restfs.
sudo systemctl start ecss-restfs.service
По умолчанию сервис ожидает HTTP-запросы на порту 9990 и работает с каталогом /var/lib/ecss/restfs.
Правка настроек glusterfs-server.service unit
Для настройки управления glusterfs service через systemctl выполните команду:
sudo systemctl edit glusterfs-server.service
Должно открыться окно текстового редактора. Внесите туда следующие параметры:
[Service] KillMode=control-group RemainAfterExit=no
Сохраните изменения и выполните команду:
sudo systemctl daemon-reload
Сервис фоновой конвертации записанных разговоров в MP3
Описание
Данный сервис запускается в определенное время и конвертирует файлы с расширением "wav" в "mp3".
Настройка
Для настройки данного сервиса необходимо выставить нужные опции в файлах:
Настройка Пути
/etc/ecss/ecss-restfs/crawler-dirs
WORKDIR - рабочий(е) каталог(и), в котором(ых) происходит поиск файлов с расширением "wav" (если указывается несколько папок, то необходимо названия указать в кавычках, например, "dir1 dir2 dir3");
EXCLUDED_PATH-каталоги, которые необходимо исключить из обработки, например, "dir1 dir2 dir3", путь указывается, относительно WORKDIR.
Настройка конвертации
/etc/ecss/ecss-restfs/crawler-conf
Файл содержит параметры, передаваемые конвертору:
crawler FFMPEG_OPT -i in_file FFMPEG_OUT_OPT out_file
По умолчанию стоят флаги:
-y - перезапись без запроса,
"-v 0" - уровень логирование выключен.
Флаг -i <file> - указывает на входной файл.
Последним аргументом передаётся выходной файл:
FFMPEG_OPT - позволяет задавать глобальные опции;
FFMPEG_OUT_OPT - позволяет задать опции для выходного файла.
Таймер
/lib/systemd/system/ecss-restfs-crawler.timer
Для настройки таймера смотри man systemd.timer.
Поле OnCalendar - содержит время запуска.
Права
/lib/systemd/system/ecss-restfs-crawler.service
Данный файл содержит следующие параметры:
- Пользователь, от чьего имени выполняется сервис (User, Group);
- Права на новые файлы (Umask);
- Время жизни сервиса (RuntimeMaxSec);
- Ограничение на ресурсы (CPUQuaota, Nice).
Также можно расширять данные конфигурации, см. команду man systemd.
Конфигурацию проводить с помощью systemctl edit <name>.
Дополнительные возможности конвертера ffmpeg можно узнать выполнив команду: man ffmapeg.
Настройка сервиса tts для работы с Yandex-Speechkit (Text-to-Speech)
Настройка в Yandex Облако
Для корректной работы tts Text-to-Speech через Yandex сервис требуются сделать следующие шаги:
- Создать новый или авторизовать в существующий аккаунте Яндекс.Облако.
- Выполнить действия согласно документации Yandex-Speechkit, для получения
OAuth-токена
. - Получить значения
FOLDER_ID
из url директории на Яндекс.Облако
Если пакет ecss-restrs уже установлен, то указать параметры
FOLDER_ID
иOAuth-токена
приdpkg-reconfigure
пакета.sudo dpkg-reconfigure ecss-restfs-3.11
Если пакет ecss-restrs не установлен, то указать параметры
FOLDER_ID
иOAuth-токена
при установке пакета.sudo apt-get install ecss-restfs-3.11
Проверить состояние ключей через http терминал:
tester@ecss1:~$ curl localhost:9990/tts_info { "folderId":"UKqJakGZnKKkoc7agA", "service":"yandex", "keys": { "AQAAA5duo0v_-XFP_jAATuwa7G8DtRMEeLvUDSkXngKvEb1SNZ1S4ARy5r7":"CggaATEVAgAAABKABCqjm- lI92RDbvfhFHK9CFzE8B3RnFR4LslDZ4Fw_p98oX0kOtbxMQcsCrq166Yc9sO2lfyCn7ffvcHE9ZSiTvx6h5Imhix3FMzI_abqirtai33ASNZ1S4ARy5Ydou3fnwOMzBtf8- MquvWGAgAnwGqQuVGZ4ZA1GQxBGjZMjugNjDfwSlpEb-vqyw9NMqpgayxXV7D7GAgAnwGqQuVGriDmt5duo0v_-XFP_jH_g9qU-DsEco0rZS0HQFupzshjJqSE8Gm5- FwFJCqak5dwNHsNSKOYspkRj87GAgAnwGqQuVGCOkD7vHOlod3bJu5WzwQprAKOORb73PDMNg22dXhYLwa2kg_OdRz0euq9sIr_1zQkTsIr_1zQkTIXuk8_FyfDWJA3WNAb2lRGj- AODAl0vf9iR7i5Pgm0-mu80v_xBbYsSexk6luvUSGXTLL1PX6PSROwUXClb1bFTyn7ojNZNyLnKTQTDyngTf5ySutpOPf }, "OAuth":"GAgAnwGqQuVGZ4ZA1GQxBGjZMjugNjDfwSlpEb" }
- folderId - идентификатор директории на Яндекс.Облако
- service - сервис используемый для генерации голоса
- keys - IAM-токен который RestFS автоматически запрашивает каждые 12 часов
- OAuth - OAuth токен указанный при установки сервиса
- localhost - ip адрес RestFS
Добавление дополнительного профиля Яндекс.Облако
Для добавления дополнительного профиля Яндекс.Облако нужно отправить http запрос:
curl localhost:9990/generate?OAuth=<OAuth_токен>&folderId=<folderId>
Для немедленного обновления IAM-токена нужно отправить следующий http запрос:
curl localhost:9990/generate?OAuth=<OAuth_токен>&folderId=<folderId>&update_key=True