Перейти к содержанию

Подключаемые приложения

ARMory может разворачивать дополнительные веб-приложения из готовых Docker-образов и показывать их в меню Приложения.

Подключение

Откройте Приложения → Управление и заполните форму:

  • Название — подпись в меню.
  • Идентификатор — уникальное имя из строчных латинских букв, цифр и дефисов.
  • Docker-образ — образ из доступного Docker Registry, например registry.example.com/team/app:1.0.
  • Порт приложения — порт HTTP-сервера внутри контейнера.
  • Локальный порт — свободный порт сервера ARMory от 1024 до 65535.
  • Адрес для меню — публичный HTTP(S)-адрес приложения.
  • Проверка запуска — HTTP-путь health-check, обычно /health.
  • Иконка — класс Bootstrap Icons, например bi-box.

Нажмите Развернуть и подключить. Справа появится журнал команд и их вывода. ARMory последовательно выполнит docker pull, запустит изолированный контейнер, проверит HTTP-ответ и только после успешной проверки добавит приложение в меню.

Адрес для меню открывается в браузере пользователя. Поэтому в production указывайте публичный HTTPS-адрес приложения, а не 127.0.0.1 или имя контейнера. Повторное подключение с тем же идентификатором обновляет существующую запись.

Где выполняется установка

  • При локальном запуске ARMory через uvicorn команды выполняются локальным Docker CLI текущего пользователя.
  • При запуске ARMory в Docker запрос передаётся внутреннему сервису extension-manager. Только этот контейнер имеет доступ к Docker socket сервера; основной контейнер ARMory такого доступа не получает.

Сервис extension-manager создаётся обычной командой docker compose up -d --build и доступен только во внутренней сети Compose.

ARMory не принимает произвольные shell-команды, Dockerfile или Compose-файлы. Контейнер получает имя armory-extension-<id>, публикуется только на 127.0.0.1 и помечается Docker labels armory.extension.*.

Доступ

Менеджер имеет доступ к Docker Engine сервера. Страница управления должна быть доступна только авторизованным администраторам через настроенный gateway. Не публикуйте порт extension-manager наружу.

Управление

Переключатель на карточке скрывает или возвращает приложение в меню. Он не удаляет контейнер и данные. В ARMory нет встроенных приложений: каждое подключение создаётся пользователем через эту страницу или загрузкой JSON-манифеста.

ARMory не содержит специальных настроек, API-прокси или Compose-сервисов для конкретных приложений. PocketBase, LEXory и любые другие продукты разворачиваются независимо и подключаются одинаковым универсальным способом.

Реестр подключений хранится локально в data/extensions.json, не входит в Git и настраивается отдельно для каждого окружения.