# File .env

Untuk menjalankan versi Navixy platform yang dikemas dalam Docker, file **.env** adalah file konfigurasi utama. File ini berisi parameter penting seperti kredensial database, nama domain, folder kerja instalasi platform dan lainnya.

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

Parameter **.env** file ini terutama digunakan selama instalasi awal platform. Namun, jika Anda perlu mengubah sesuatu dalam konfigurasi platform yang sudah ada, Anda juga harus memodifikasi file ini.

Semua parameter dalam file ini diberi komentar untuk pemahaman yang lebih baik tentang apa yang sedang Anda hadapi. Informasi tambahan tentang parameter-parameter ini dijelaskan di bagian-bagian berikut.

{% hint style="info" %}
Jika Anda mengubah pengaturan konfigurasi saat instance sudah berjalan, perubahan tidak diterapkan secara instan. Anda perlu menginisialisasi ulang seluruh instance agar perubahan berlaku. Untuk melakukan ini, dari folder utama platform (navixy-package), jalankan perintah: `docker compose up -d` Ini akan membuat ulang container dengan pengaturan baru.
{% endhint %}

## UID dan GID

Ini adalah parameter layanan yang hanya digunakan pada tahap pembuatan platform. Anda tidak perlu mengubahnya.

## WORKDIR

Ini adalah parameter yang menunjukkan direktori kerja platform - tempat database dan semua file layanan disimpan. Direktori ini perlu diamankan untuk menghindari kehilangan data bisnis.

Nilai default parameter ini: `WORKDIR=./work`.

Ini berarti bahwa `/work` direktori di dalam build Navixy yang diekstrak digunakan. Jika direktori tidak ada, direktori akan dibuat.

Jika perlu, Anda dapat meletakkan direktori kerja di mana saja pada sistem Anda. Untuk melakukan ini, tentukan path lengkap ke direktori. Contoh:

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

Pastikan memberi nama direktori dengan jelas agar tidak terhapus secara tidak sengaja.

## navixy\_username

Ini adalah nama pengguna yang digunakan untuk akses database. Nama ini selalu `navixy`, jangan mengubahnya.

## navixy\_passwd

Ini adalah kata sandi untuk pengguna database `navixy` . Secara default, nilai ini kosong dan Anda diharuskan menentukan kata sandi pilihan Anda. Disarankan untuk menghasilkan kata sandi kuat secara otomatis, tetapi pilihan ada pada Anda, Anda dapat menentukan apa pun yang Anda inginkan.

Jangan mengubah kata sandi ini setelah database dibuat dan platform diterapkan.

## service\_domain

Ini adalah domain utama instance platform Anda. Domain ini digunakan untuk:

* Akses ke antarmuka pengguna.
* Aktivasi perangkat.

Jika Anda menggunakan instalasi satu-domain (tanpa domain terpisah untuk API dan panel admin), domain ini juga akan digunakan untuk:

* Akses ke API melalui tautan `service_domain/api`
* Akses ke panel admin melalui tautan `service_domain/panel`

{% hint style="info" %}
Ini juga dapat berupa alamat IP server Anda jika Anda tidak akan menggunakan nama domain untuk layanan Anda.
{% endhint %}

## api\_domain

Parameter ini bersifat opsional dan hanya digunakan untuk instalasi tiga-domain.

Di sini Anda perlu menentukan nama domain yang digunakan untuk mengakses API platform Anda.

## panel\_domain

Ini juga merupakan parameter opsional yang digunakan untuk instalasi tiga-domain.

Di sini Anda perlu menentukan nama domain yang digunakan untuk mengakses panel admin platform Anda.

## le\_enabled

Parameter ini mengaktifkan penerbitan otomatis dan penerbitan ulang sertifikat SSL Let's Encrypt.

Secara `default` . Ini berarti ketika Anda menerapkan platform, Certbot akan dikonfigurasi dan akan menangani penerbitan sertifikat SSL otomatis untuk domain Anda. Dengan cara ini, Anda tidak perlu khawatir tentang pembelian sertifikat pihak ketiga. Instance akan mengonfigurasi dirinya agar terlindungi oleh SSL.

Jika Anda ingin menggunakan sertifikat SSL Anda sendiri alih-alih Let’s Encrypt, ubah parameter ini menjadi `false`.

## le\_email

Ini adalah alamat email untuk menerima informasi tentang operasi Certbot, seperti kedaluwarsa sertifikat, pencabutan sertifikat, dan masalah yang dapat menyebabkan ketidakmampuan untuk menerbitkan ulang sertifikat.

Secara default, parameter ini kosong. Disarankan agar Anda menentukan alamat email yang valid sehingga Anda tidak melewatkan pemberitahuan penting tentang perlindungan SSL situs web Anda.

## redirect\_to\_https

Pengaturan ini memungkinkan permintaan dialihkan dari *http* ke *https*. Jika platform Anda dikonfigurasi untuk menggunakan perlindungan SSL dan seseorang mencoba menggunakan URL yang diawali dengan *http*, pengalihan otomatis ke *https* akan dipicu.

Jika parameter dinonaktifkan (false) maka tidak akan terjadi pengalihan, dan situs web tidak akan dibuka.

{% hint style="info" %}
Parameter ini berlaku hanya jika perlindungan SSL diaktifkan dan sertifikat SSL dipasang.
{% endhint %}

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

Jika Anda tidak berencana menggunakan Let's Encrypt dan ingin menggunakan sertifikat SSL Anda sendiri, Anda perlu menempatkan sertifikat untuk domain Anda dan kunci privatnya ke direktori: `WORKDIR/nginx/ssl`.

{% hint style="danger" %}
Pastikan untuk mengubah parameter **le\_enabled** menjadi `false` sebelum menerapkan perubahan apa pun pada bagian ini. Anda tidak dapat menggunakan sertifikat Anda sendiri untuk platform saat certbot berjalan.
{% endhint %}

Setelah sertifikat dan kunci ditempatkan, Anda perlu menentukan nama file mereka untuk parameter konfigurasi yang sesuai. Perlu dicatat bahwa Anda tidak perlu menentukan path. Contoh:

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

## MYSQL\_RANDOM\_ROOT\_PASSWORD

Parameter ini mengaktifkan pembuatan kata sandi acak untuk pengguna MySQL `root` . Nilai default adalah `default`.

Parameter ini hanya digunakan selama inisialisasi database awal saat menginstal platform. Pada restart dan pembaruan platform selanjutnya parameter ini tidak berpengaruh, dan kata sandi tetap sama.

Jika Anda lebih memilih untuk menetapkan kata sandi root MySQL tertentu, ubah nilainya menjadi `false` dan lanjutkan ke parameter berikutnya.

## MYSQL\_ROOT\_PASSWORD

Di sini Anda menentukan kata sandi root untuk MySQL.

Parameter ini diterapkan hanya ketika `MYSQL_RANDOM_ROOT_PASSWORD` diaktifkan menjadi `false`. Jika tidak, nilainya diabaikan.

## skip\_db\_update

Parameter ini menonaktifkan pembaruan database ketika container `navixy-standalone-db` dijalankan. Ini digunakan untuk tujuan pengujian, Anda tidak perlu mengubah nilai default (`false`) selama penggunaan platform secara reguler.
