Appearance
On-premise стенд с нуля
Развёртывание из готового дистрибутива: один архив со всем необходимым (включая Docker-образы — доступ к Docker Hub не нужен), установка одной командой. Ориентировочное время — 10–15 минут.
1. Подготовка
- Сервер Linux x86_64 с Docker 24+ и Docker Compose 2.20+ (см. требования).
- Домен, например
itsm.example.com, с A-записью на публичный IP сервера — без этого не выпустится TLS-сертификат. - Открытые порты 80 и 443.
- Логин/пароль сервера загрузок и ссылка на дистрибутив (выдаёт поставщик).
2. Скачивание и проверка
bash
# актуальная версия: curl -u <логин> https://downloads.orbitaitsm.ru/latest.json
curl -u <логин> -O https://downloads.orbitaitsm.ru/releases/<версия>/orbita-onpremise-<версия>.tar.gz
curl -u <логин> -O https://downloads.orbitaitsm.ru/releases/<версия>/orbita-onpremise-<версия>.tar.gz.sha256
sha256sum -c orbita-onpremise-<версия>.tar.gz.sha2563. Установка
bash
sudo mkdir -p /opt && sudo tar -xzf orbita-onpremise-<версия>.tar.gz -C /opt
sudo mv /opt/orbita-onpremise-<версия> /opt/orbita
cd /opt/orbita && sudo ./install.shМастер спросит домен, название организации, email для Let's Encrypt и данные администратора, дальше всё сделает сам: сгенерирует секреты, загрузит образы, запустит стек, применит миграции, создаст организацию и администратора, закроет самостоятельную регистрацию.
Неинтерактивный вариант (все флаги — ./install.sh --help):
bash
sudo ./install.sh --domain itsm.example.com --org "Моя организация" \
--acme-email admin@example.com --admin-email admin@example.com \
--admin-password '********' --license ./customer.lic --yesПовторный запуск безопасен
Если установка прервалась — просто запустите sudo ./install.sh ещё раз: существующие секреты не перегенерируются, шаги инициализации идемпотентны.
Почта на старте
В сгенерированном .env стоит MAIL_MAILER=log — письма пишутся в лог и никуда не уходят. Замените на smtp, когда появится реальный релей (см. Переменные окружения). Без SMTP не работают приглашения, восстановление пароля и email-уведомления.
4. Лицензия
Свежий стенд работает полнофункционально 30 дней без лицензии, затем переходит в режим «только чтение». Если лицензию не передали флагом --license при установке:
- веб-интерфейс: Настройки → Лицензия (загрузка файла
.lic), либо - консоль:
bash
cd /opt/orbita
docker compose cp customer.lic backend:/tmp/customer.lic
docker compose exec backend php artisan license:install /tmp/customer.lic
docker compose exec backend php artisan license:statusПодробнее о состояниях лицензии — Лицензия (on-premise).
5. Проверка стенда
bash
cd /opt/orbita
docker compose ps # все контейнеры Up, database — healthy
curl -I https://itsm.example.com # → 200
docker compose logs traefik 2>&1 | grep -i acme | tail -5 # нет ошибок ACMEЧек-лист в браузере:
- страница логина открывается по https без предупреждений;
- вход работает, после входа приходит realtime-уведомление без перезагрузки страницы (проверка WebSocket);
- загрузка вложения в любую запись работает (проверка файлового хранилища);
- глобальный поиск что-то находит (проверка поискового движка).
6. Что настроить после запуска
| Что | Где |
|---|---|
| SMTP, IMAP, Telegram, LDAP | Приложение → Система → Настройки (делает администратор приложения) |
| Регулярные бэкапы за пределы сервера | Резервное копирование — в дистрибутиве есть готовый backup.sh |
| Мониторинг контейнеров и диска | Мониторинг и логи |
| Процедура обновления | Обновление стенда |
Платформенный суперадмин (опционально)
Панель /superadmin (аудит, error-log) требует отдельной учётки: docker compose exec backend php artisan superadmin:create. Для обычной работы она не нужна.