# Archivo .env

Para ejecutar la versión dockerizada de la plataforma Navixy, el **.env** archivo es el archivo de configuración principal. Contiene parámetros importantes como credenciales de la base de datos, nombres de dominio, carpeta de trabajo de instalación de la plataforma y otros.

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

El **.env** archivo se usa principalmente durante la instalación inicial de la plataforma. Sin embargo, si necesita cambiar algo en la configuración de una plataforma existente, también deberá modificar este archivo.

Todos los parámetros en este archivo están comentados para una mejor comprensión de con qué se está tratando. Información adicional sobre estos parámetros se describe en las secciones siguientes.

{% hint style="info" %}
Si cambia cualquier configuración mientras la instancia ya se está ejecutando, los cambios no se aplican de forma instantánea. Debe reinicializar toda la instancia para que surtan efecto. Para hacerlo, desde la carpeta principal de la plataforma (navixy-package), ejecute el comando: `docker compose up -d` Esto recreará los contenedores con la nueva configuración.
{% endhint %}

## UID y GID

Estos son parámetros de servicio usados únicamente en la etapa de compilación de la plataforma. No necesita cambiarlos.

## WORKDIR

Este es un parámetro que indica el directorio de trabajo de la plataforma: donde se almacenan la base de datos y todos los archivos de servicio. Es necesario asegurar este directorio para evitar la pérdida de datos de negocio.

Valor predeterminado de este parámetro: `WORKDIR=./work`.

Esto significa que `/work` directorio dentro de la compilación descomprimida de Navixy se utiliza. Si el directorio no existe, se creará.

Si es necesario, puede colocar el directorio de trabajo en cualquier lugar de su sistema. Para ello, especifique la ruta completa al directorio. Ejemplos:

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

Asegúrese de darle al directorio un nombre claro para no eliminarlo por error.

## navixy\_username

Este es el nombre de usuario usado para el acceso a la base de datos. Siempre es `navixy`, no lo cambie.

## navixy\_passwd

Esta es la contraseña para el usuario de la base de datos `navixy` . Por defecto, este valor está vacío y se le solicita que especifique la contraseña de su elección. Se recomienda generar automáticamente una contraseña robusta, pero la elección es suya; puede especificar lo que desee.

No cambie esta contraseña después de que la base de datos esté creada y la plataforma desplegada.

## service\_domain

Este es el dominio principal de su instancia de la plataforma. Se utiliza para:

* Acceso a la interfaz de usuario.
* Activación de dispositivos.

En caso de que esté utilizando una instalación de un solo dominio (sin dominios separados para API y panel de administración), este dominio también se usará para:

* Acceso a la API mediante el enlace `service_domain/api`
* Acceso al panel de administración mediante el enlace `service_domain/panel`

{% hint style="info" %}
Esto también puede ser una dirección IP de su servidor si no va a utilizar un nombre de dominio para su servicio.
{% endhint %}

## api\_domain

Este parámetro es opcional y se usa sólo para instalaciones de tres dominios.

Aquí debe especificar el nombre de dominio utilizado para acceder a la API de su plataforma.

## panel\_domain

Este también es un parámetro opcional utilizado para instalaciones de tres dominios.

Aquí debe especificar el nombre de dominio utilizado para acceder al panel de administración de su plataforma.

## le\_enabled

Este parámetro activa la emisión automática y la reemisión posterior del certificado SSL de Let's Encrypt.

Está `true` por defecto. Esto significa que cuando despliegue la plataforma, Certbot se configurará y se encargará de la emisión automática de certificados SSL para sus dominios. De este modo, no tendrá que preocuparse por comprar certificados de terceros. La instancia se configurará para estar protegida con SSL.

Si desea usar su propio certificado SSL en lugar de Let's Encrypt, cambie este parámetro a `false`.

## le\_email

Esta es la dirección de correo electrónico para recibir información sobre el funcionamiento de Certbot, como caducidad del certificado, revocación del certificado y problemas que puedan impedir la reemisión del certificado.

Por defecto, este parámetro está vacío. Se recomienda que especifique una dirección de correo válida para no perder notificaciones importantes sobre la protección SSL de su sitio web.

## redirect\_to\_https

Esta configuración permite redirigir las solicitudes desde *http* a *https*. Si su plataforma está configurada para usar protección SSL y alguien intenta usar una URL que comience con *http*, se activará una redirección automática a *https* .

Si el parámetro está desactivado (false) entonces no se producirá ninguna redirección y el sitio web no se abrirá.

{% hint style="info" %}
Este parámetro es aplicable sólo si la protección SSL está habilitada y el certificado SSL está instalado.
{% endhint %}

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

Si no tiene previsto usar Let's Encrypt y desea utilizar su propio certificado SSL, debe colocar el certificado para su dominio y su clave privada en el directorio: `WORKDIR/nginx/ssl`.

{% hint style="danger" %}
Asegúrese de cambiar el **le\_enabled** parámetro a `false` antes de aplicar cualquier cambio en esta sección. No puede usar sus propios certificados para la plataforma cuando certbot está en ejecución.
{% endhint %}

Después de que el certificado y la clave estén en su lugar, debe especificar sus nombres de archivo en los parámetros correspondientes de la configuración. Tenga en cuenta que no necesita especificar rutas. Ejemplo:

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

## MYSQL\_RANDOM\_ROOT\_PASSWORD

Este parámetro habilita la generación de una contraseña aleatoria para el usuario `root` de MySQL. El valor predeterminado es `true`.

El parámetro se usa sólo durante la inicialización inicial de la base de datos al instalar la plataforma. En reinicios y actualizaciones posteriores de la plataforma no hace nada, y la contraseña permanece igual.

Si prefiere establecer una contraseña root específica para MySQL, cambie el valor a `false` y proceda al siguiente parámetro.

## MYSQL\_ROOT\_PASSWORD

Aquí especifique la contraseña root para MySQL.

Este parámetro se aplica sólo cuando `MYSQL_RANDOM_ROOT_PASSWORD` está activado a `false`. De lo contrario, el valor se ignora.

## skip\_db\_update

Este parámetro deshabilita la actualización de la base de datos cuando el contenedor `navixy-standalone-db` se inicia. Se utiliza con fines de prueba; no necesita cambiar el valor predeterminado (`false`) durante el uso regular de la plataforma.
