Перейти к основному содержимому

📦 Приложения

Одна из ключевых особенностей YunoHost — возможность легко устанавливать приложения, которые затем сразу же готовы к использованию. Примерами таких приложений могут служить система для ведения блога, «облако» (для размещения и синхронизации файлов), веб-сайт, RSS-читалка и т.д.

Приложения можно устанавливать и управлять ими через веб-интерфейс администратора в Applications или с помощью команд категории yunohost app.

Список приложений в веб-панели администраторе, а также кнопка «Установить».
Список приложений в веб-панели администраторе, а также кнопка «Установить».

Каталог приложений и его категории можно просматривать непосредственно в веб-панели администратора, нажав кнопку + Install в списке приложений, или из этой документации.

предупреждение

Будьте осторожны и соблюдайте разумные ограничения по количеству устанавливаемых приложений. Каждая дополнительная установка увеличивает поверхность атаки и риск сбоя. В идеале, если вы хотите провести тестирование, делайте это с другим экземпляром, например, в виртуальной машине.

Установка приложения

Допустим, вы хотите установить пользовательское веб-приложение. Перед началом установки YunoHost обычно просит вас заполнить форму для правильной настройки.

Форма предварительной установки пользовательского веб-приложения
Форма предварительной установки пользовательского веб-приложения

Подпути против отдельных доменов для каждого приложения

В формах ввода данных, помимо конкретных вопросов, обычно просят выбрать домен и путь, по которому будет доступно приложение.

В контексте YunoHost довольно часто встречается ситуация, когда на одном (или нескольких) доменах в "подпутях" установлено несколько приложений, в результате чего получается что-то вроде этого:

yolo.com
├── /blog : WordPress (a blog)
├── /cloud : Nextcloud (a cloud service)
├── /rss : TinyTiny RSS (a RSS reader)
├── /wiki : DokuWiki (a wiki)

В качестве альтернативы вы можете установить каждое (или некоторые) приложения на выделенном домене. Помимо эстетических соображений, использование поддоменов вместо подпутей позволяет проще перенести службу на другой сервер. Кроме того, некоторым приложениям может потребоваться целый выделенный для них домен по техническим причинам. Недостаток заключается в том, что вам придётся каждый раз добавлять новый домен, а следовательно, потенциально настраивать дополнительные DNS-записи, перезапускать диагностику и устанавливать новый сертификат Let's Encrypt.

Для конечных пользователей это может выглядеть привлекательнее, но в контексте YunoHost это обычно считается более сложным и менее эффективным решением, поскольку каждый раз необходимо добавлять новый домен. Тем не менее, некоторым приложениям по техническим причинам может потребоваться целый выделенный для них домен.

Если бы все приложения из предыдущего примера были установлены в отдельном домене, получилось бы что-то вроде этого:

blog.yolo.com  : WordPress (a blog)
cloud.yolo.com : Nextcloud (a cloud service)
rss.yolo.com : TinyTiny RSS (a RSS reader)
wiki.yolo.com : DokuWiki (a wiki)
к сведению

Многие приложения имеют функцию, позволяющую изменять URL-адрес приложения. В некоторых случаях выбор между подпутём и поддоменом можно отменить с помощью простой манипуляции в административном интерфейсе.

Управление доступом пользователей и общедоступные приложения

В форме установки обычно спрашивается, должно ли приложение быть общедоступным. Если вы решите не делать его общедоступным, доступ к нему смогут получить только пользователи, авторизованные в YunoHost.

подсказка

После установки это можно настроить через веб-панель администратора в разделе Группы и разрешения (Groups and permissions panel) или аналогичным образом через подкатегорию командной строки yunohost user permission.

Инструкции после установки

Некоторые приложения после установки должны предоставить инструкции, URL-адреса или учётные данные. Поэтому, если вам был предложен такой запрос, не забудьте проверить электронную почту первой учётной записи пользователя или администратора, выбранного перед установкой.

Многоэкземплярные приложения

Некоторые приложения можно устанавливать несколько раз (в разные места)! Для этого просто снова перейдите в раздел Applications+ Install и ещё раз выберите приложение для установки.

Интеграция с LDAP / SSO

Приложения, поддерживающие регистрацию пользователей, могут быть интегрированы с системой LDAP / Single Sign-On (единого входа) YunoHost, благодаря чему пользователи, входящие на пользовательский портал, могут автоматически авторизоваться во всех этих приложениях.

Однако некоторые приложения не поддерживают эту возможность, поскольку она либо не реализована в исходном проекте (upstream), либо соответствующая функция пакета пока не работает. Обычно эта информация приводится в файле README пакета приложения.

Конфигурация приложения

После установки можно скорректировать некоторые настройки, управляемые YunoHost, — например, права доступа пользователей и групп, вид плитки и название приложения на странице SSO или URL для доступа к нему.

Вы можете перейти на страницу операций приложения, нажав на его название в списке приложений.

Страница операций с приложением в веб-интерфейсе администрирования
Страница операций с приложением в веб-интерфейсе администрирования

Вы также можете удалить приложение с этой страницы.

Панели настройки

Некоторые приложения оснащены панелью настройки, содержащей специфические для каждого из них действия и параметры, которыми они обычно не управляют самостоятельно. Кроме того, такие панели избавляют от необходимости вручную редактировать файлы конфигурации.

к сведению

Панели настройки не предназначены для тонкой настройки абсолютно всех аспектов приложений. Безусловно, вам придётся чаще пользоваться собственными панелями администрирования этих приложений, чем панелями настройки YunoHost.

Панели настройки доступны в веб-интерфейсе администратора на странице операций — через кнопку Config panel (Панель настройки).

Панель настройки My Webapp
Панель настройки My Webapp

Выполнение команд в приложении

Начиная с версии YunoHost v11.1.21.4, если вам необходимо выполнить команды с помощью исполняемого файла приложения, команды PHP и т. д., вы можете выполнить команду yunohost app shell <app>. Это приведёт к следующему:

  • откройте новую оболочку Bash от имени системного пользователя приложения
  • перейдите в рабочую директорию приложения (например, /var/www/<app>)
  • предварительно загрузите переменные окружения из конфигурации службы приложения (если она существует)
  • переопределите команду php так, чтобы она указывала на версию PHP, используемую приложением

Упаковка приложений

Пакеты приложений должны создаваться вручную специалистами по их упаковке и сопровождению. Приложения могут быть интегрированы с YunoHost, что обеспечивает поддержку таких функций, как обновление, резервное копирование и восстановление, а также интеграция с LDAP/SSO.

Если вы хотите научиться упаковывать приложения или внести свой вклад в этот процесс, пожалуйста, ознакомьтесь с документацией для участников.

Уровни интеграции и качества

Регулярно проводятся автоматические тесты для проверки интеграции и качества всех приложений, которые были заявлены упаковщиками как «рабочие» (working). Результат представляет собой показатель от 0 до 8; его значение подробно описано на этой странице. Результаты некоторых тестов также можно посмотреть на этой информационной панели.

По умолчанию предлагаются только приложения надлежащего качества. Если качество приложения снижается, оно скрывается из каталога (чтобы предотвратить его установку), а выпуск обновлений для него приостанавливается до тех пор, пока проблема не будет устранена.