# Файл .env

Чтобы запустить контейнеризированную версию платформы Navixy, **.env** файл является основным конфигурационным файлом. Он содержит такие важные параметры, как учетные данные базы данных, доменные имена, рабочая папка установки платформы и другие.

![](https://4066122344-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkUnMmePH99SsdChtqqu7%2Fuploads%2Fgit-blob-d990eb7ccbe679666d60506ffeaa357815158267%2Fimage-20230907-140128.png?alt=media)

Параметр **.env** файл в основном используется во время начальной установки платформы. Тем не менее, если вам нужно изменить что-либо в конфигурации уже существующей платформы, вам также потребуется изменить этот файл.

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

{% hint style="info" %}
Если вы измените какие-либо настройки конфигурации в то время, когда экземпляр уже работает, изменения не применяются мгновенно. Необходимо реинициализировать весь экземпляр, чтобы они вступили в силу. Для этого из основной папки платформы (navixy-package) выполните команду: `docker compose up -d` Это пересоздаст контейнеры с новыми настройками.
{% endhint %}

## UID и GID

Это служебные параметры, используемые только на этапе сборки платформы. Вам не нужно их менять.

## WORKDIR

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

Значение этого параметра по умолчанию: `WORKDIR=./work`.

Это означает, что `/work` директория внутри распакованной сборки Navixy используется. Если директория не существует, она будет создана.

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

* `/home/admin/work`
* `/usr/local/navixy`

Обязательно присвойте директории очевидное имя, чтобы случайно не удалить её.

## navixy\_username

Это имя пользователя, используемое для доступа к базе данных. Оно всегда `navixy`, не изменяйте его.

## navixy\_passwd

Это пароль для пользователя базы данных `navixy` . По умолчанию это значение пусто, и от вас требуется указать желаемый пароль. Рекомендуется автоматически сгенерировать надежный пароль, но выбор за вами — вы можете указать любой желаемый пароль.

Не меняйте этот пароль после того, как база данных создана и платформа развернута.

## service\_domain

Это основной домен вашего экземпляра платформы. Он используется для:

* Доступа к пользовательскому интерфейсу.
* Активации устройств.

В случае, если вы используете установку с одним доменом (без отдельных доменов для API и панели администратора), этот домен также будет использоваться для:

* Доступа к API по ссылке `service_domain/api`
* Доступа к панели администратора по ссылке `service_domain/panel`

{% hint style="info" %}
Это также может быть IP-адрес вашего сервера, если вы не собираетесь использовать доменное имя для вашего сервиса.
{% endhint %}

## api\_domain

Этот параметр является необязательным и используется только для установки с тремя доменами.

Здесь необходимо указать доменное имя, используемое для доступа к API вашей платформы.

## panel\_domain

Это также необязательный параметр, используемый для установки с тремя доменами.

Здесь необходимо указать доменное имя, используемое для доступа к панели администратора вашей платформы.

## le\_enabled

Этот параметр активирует автоматическую выдачу и последующую перевыдачу SSL-сертификата Let's Encrypt.

По умолчанию он `true` . Это означает, что при развертывании платформы будет настроен Certbot, который будет автоматически управлять выдачей SSL-сертификатов для ваших доменов. Таким образом, вам не придется беспокоиться о покупке сторонних сертификатов. Экземпляр настроится для работы с SSL-защитой.

Если вы хотите использовать собственный SSL-сертификат вместо Let's Encrypt, измените этот параметр на `false`.

## le\_email

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

По умолчанию этот параметр пуст. Рекомендуется указать действительный адрес электронной почты, чтобы вы не пропустили важные уведомления о SSL-защите вашего сайта.

## redirect\_to\_https

Эта настройка позволяет перенаправлять запросы с *http* на *https*. Если ваша платформа настроена для использования SSL-защиты и кто-то пытается использовать URL, начинающийся с *http*, будет выполнено автоматическое перенаправление на *https* .

Если параметр отключен (false), перенаправление не будет выполняться, и сайт не откроется.

{% hint style="info" %}
Этот параметр применим только в случае, если SSL-защита включена и SSL-сертификат установлен.
{% endhint %}

## service\_ssl\_cert and service\_ssl\_key

Если вы не планируете использовать Let's Encrypt и хотите вместо этого использовать собственный SSL-сертификат, вам необходимо поместить сертификат для вашего домена и его приватный ключ в директорию: `WORKDIR/nginx/ssl`.

{% hint style="danger" %}
Обязательно переключите **le\_enabled** параметр на `false` прежде чем вносить какие-либо изменения в этот раздел. Вы не можете использовать собственные сертификаты для платформы, когда certbot запущен.
{% endhint %}

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

```
service_ssl_cert=my_domain_com.crt
service_ssl_key=my_domain_com.key
```

## MYSQL\_RANDOM\_ROOT\_PASSWORD

Этот параметр включает генерацию случайного пароля для MySQL `root` пользователя. Значение по умолчанию — `true`.

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

Если вы предпочитаете задать конкретный пароль root для MySQL, измените значение на `false` и перейдите к следующему параметру.

## MYSQL\_ROOT\_PASSWORD

Здесь вы указываете root-пароль для MySQL.

Этот параметр применяется только когда `MYSQL_RANDOM_ROOT_PASSWORD` переключен на `false`. В противном случае значение игнорируется.

## skip\_db\_update

Этот параметр отключает обновление базы данных при запуске контейнера `navixy-standalone-db` . Он используется в тестовых целях, вам не нужно менять значение по умолчанию (`false`) во время обычного использования платформы.
