> For the complete documentation index, see [llms.txt](https://docs.aamsystems.ru/passoffice/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aamsystems.ru/passoffice/passoffice-guide/admin-guide-doc/ustanovka-passoffice/zapusk.md).

# Запуск сервера PassOffice

Режимы запуска сервера PassOffice (начиная с версии 1.4.2)

Сервер PassOffice можно запускать в следующих режимах:

1. **Вывод информации о лицензии**

   ```bash
   --mode=audit
   ```

   * Выводит в консоль информацию о текущей лицензии и её ограничениях.
   * Пример вывода:

     ```
     Limit Type: total
     Object Type: AcsBaseConfig
     Object Sub Type: ACS_APACS
     Max Count: 2
     Actual Count: 2
     Violated: false
     ---------------------------
     Limit Type: per_day
     Object Type: AcsBaseConfig
     Object Sub Type: ACS_APACS
     Max Count: -1
     Actual Count: 1
     Violated: false
     ```
   * **Поля**:
     * `Limit Type`: `total` (всего) или `per_day` (в день).
     * `Object Type`: Тип объекта (например, `AcsBaseConfig`).
     * `Object Sub Type`: Подтип объекта (например, `ACS_APACS`).
     * `Max Count`: Максимально доступное количество.
     * `Actual Count`: Фактическое количество.
     * `Violated`: `false` (нет нарушений лицензии) или `true` (есть нарушения).
2. **Фикс лицензии**:

   ```bash
   --mode=licfix
   ```

   * Исправляет проблемы лицензии (только для настроек интеграции).
   * Удаляет из базы неподдерживаемые неактивные интеграции, если они отсутствуют в лицензии, чтобы запуск прошёл без ошибок.
3. **Комбинированный режим**:

   ```bash
   --mode=audit,licfix
   ```

   * Выполняет одновременно аудит лицензии и её фикс.
4. **Режим без предупреждений о миграции БД**:

   ```bash
   --mode=silent
   ```

   * Запускает сервер без уведомлений о необходимости миграции базы данных.
5. **Удаление неактивных каналов уведомлений**:

   ```bash
   --mode=licfix
   ```

   * Удаляет неактивные каналы уведомлений, отсутствующие в лицензии.
6. **Фикс ошибок валидации миграционных файлов БД**:

   ```bash
   --mode=dbfix
   ```

   * Используется при ошибке валидации миграционных файлов, например:\
     `"Migration has failed validation. Checksum mismatch for migration X"`.
   * Рекомендуемый вариант для docker-compose.yml:

```yml
 passoffice:
    image: your-registry/passoffice:999.999.999-develop          # ваш образ
    command: ["java", "-jar", "/app/lib/PassOfficeSrv-999.999.999-fix-migration.jar", 
      "--mode=dbfix"]
```

7. **Применение патчей БД прошлых версий**:

```bash
--mode=dbpatch
```

* Применяет патчи базы данных для предыдущих версий.

8. **Шифрование паролей в `application.properties`**:

```bash
--mode=configure
```

* **Варианты**:
  * **Change encrypted password in application.properties**:
    * Смена пароля для базы данных или Redis.
    * Выберите `Database password` или `Redis password`, введите старый пароль, задайте новый и подтвердите.
    * Символы не отображаются. Для выхода используйте `:q`.
  * **Encrypt passwords in application.properties**:
    * Шифрует пароли `passoffice.db.pw` и `redis.password`.
    * Устанавливает `passoffice.encrypt-passwords-in-properties=true`.
  * **Exit**: Выход из режима.
