# Запуск сервера 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**: Выход из режима.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.aamsystems.ru/passoffice/passoffice-guide/admin-guide-doc/ustanovka-passoffice/zapusk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
