Semua konfigurasi dilakukan melalui variabel lingkungan dalam file .env di root direktori penerapan Anda. Docker Compose membaca file ini secara otomatis — tidak diperlukan flag --env-file.

Variabel yang ditandai diperlukan harus ditetapkan sebelum memulai container. Semua variabel lainnya memiliki nilai default dan bersifat opsional.


Proyek

Variabel-variabel ini mendefinisikan identitas dan titik akses instans rtCloud Anda.

VariabelDefaultDiperlukanDeskripsi
PROJECT_IDYaPengidentifikasi unik untuk penerapan ini. Tanpa spasi atau karakter khusus. Digunakan sebagai awalan untuk penamaan internal.
PROJECT_URLYaNama domain atau alamat IP tempat pengguna mengakses aplikasi (misalnya, rtcloud.example.com atau 192.168.1.100).
PROJECT_TYPErtsurveyTidakVarian platform yang diaktifkan. Opsi: rtwork, rtsurvey, rthome.
PROJECT_PORT80TidakPort yang didengarkan aplikasi di dalam container. Jangan ubah kecuali Anda tahu apa yang Anda lakukan.
HTTP_PROTOCOLhttpsTidakProtokol yang digunakan untuk membuat URL internal. Atur ke http jika Anda tidak menggunakan SSL.

Database

Kredensial koneksi MySQL. Database dikelola secara otomatis oleh container MySQL — Anda hanya perlu menetapkan kata sandi yang kuat.

VariabelDefaultDiperlukanDeskripsi
MYSQL_DATABASEsmartsurveyTidakNama database aplikasi.
MYSQL_USERsmartsurveyTidakPengguna MySQL untuk aplikasi.
MYSQL_PASSWORDYaKata sandi untuk MYSQL_USER. Gunakan nilai yang kuat dan unik.
MYSQL_ROOT_PASSWORDYaKata sandi root MySQL. Diperlukan untuk inisialisasi database dan operasi admin.
MYSQL_HOSTmysqlTidakNama host MySQL. Gunakan default kecuali Anda terhubung ke database eksternal.
MYSQL_PORT3306TidakPort MySQL.

Akun Admin

Akun admin dibuat secara otomatis pada booting pertama database baru.

VariabelDefaultDiperlukanDeskripsi
ADMIN_PASSWORDadminYaKata sandi untuk pengguna admin bawaan. Atur ini sebelum booting pertama. Tidak berpengaruh jika database sudah ada.

Setelah login pertama, ubah kata sandi admin dari halaman Pengaturan Akun di UI web.


Port

Kontrol port host mana yang diikat aplikasi.

VariabelDefaultDeskripsi
APP_PORT8080Port host untuk UI web utama. Ubah ini jika port 8080 sudah digunakan di server Anda.
SHINY_PORT3838Port host untuk server analitik Shiny.

Runtime

VariabelDefaultDeskripsi
RUN_ENVprodLingkungan runtime. Gunakan prod untuk penerapan produksi, dev untuk pengembangan lokal.
RUN_MODEadminPeran container. admin menjalankan stack penuh (web + antrian + cron). worker hanya menjalankan pemrosesan latar belakang (untuk penskalaan horizontal).
TZAsia/Ho_Chi_MinhZona waktu server. Memengaruhi cap waktu log, jadwal cron, dan tampilan tanggal. Gunakan nama database TZ (misalnya, UTC, America/New_York, Europe/London).
LOG_LEVELinfoVerbositas log aplikasi. Opsi: debug, info, warning, error.
COMPOSE_PROJECT_NAMErtcloudAwalan yang diterapkan ke semua nama container dan volume Docker. Ubah ini saat menjalankan beberapa instans rtCloud di host yang sama.
RESTART_POLICYunless-stoppedPerilaku restart container Docker. Opsi: no, always, on-failure, unless-stopped.
RTCLOUD_IMAGErtawebteam/rta-smartsurvey:survey-dockerizeImage Docker yang digunakan. Ubah tag untuk menyematkan versi tertentu.
REQUIRE_LICENSEfalseAktifkan validasi kunci lisensi saat startup. Hubungi RTA untuk informasi lisensi.

Keamanan

VariabelDefaultDeskripsi
CSRF_VALIDATION_ENABLEDtrueAktifkan validasi token CSRF. Pertahankan true di produksi. Atur ke false hanya dalam pengembangan lokal jika Anda mengalami kesalahan 400 CSRF token could not be verified.
GII_ENABLEDfalseAktifkan alat pembuat kode framework Yii. Jangan pernah aktifkan di produksi.

SSO — Keycloak Tertanam

Aktifkan container Keycloak yang dibundel untuk SSO perusahaan berfitur lengkap. Memerlukan domain dengan HTTPS.

VariabelDefaultDeskripsi
EMBED_KEYCLOAKfalseAtur ke true untuk memulai container Keycloak tertanam. Mengaktifkan profil Docker Compose embed-keycloak.
KEYCLOAK_URLURL lengkap server Keycloak (misalnya, https://rtcloud.example.com/auth).
KEYCLOAK_REALMNama realm Keycloak (misalnya, rtsurvey).
KEYCLOAK_CLIENT_IDID klien Keycloak untuk aplikasi rtCloud.
KEYCLOAK_CLIENT_SECRETSecret klien Keycloak. Buat ini dari konsol admin Keycloak.
KEYCLOAK_ADMIN_USERadminNama pengguna administrator Keycloak.
KEYCLOAK_ADMIN_PASSWORDKata sandi administrator Keycloak.
KEYCLOAK_DBkeycloakNama database untuk Keycloak. Dibuat secara otomatis pada booting pertama.
KEYCLOAK_DB_USERkeycloakPengguna database untuk Keycloak.
KEYCLOAK_DB_PASSWORDKata sandi database untuk pengguna Keycloak.
KC_HOSTNAMEURL frontend Keycloak (misalnya, https://rtcloud.example.com/auth).
KC_HOSTNAME_STRICTfalseTerapkan pencocokan nama host yang ketat. Atur ke true di produksi dengan domain tetap.

Lihat Autentikasi SSO untuk panduan pengaturan lengkap.


SSO — Penyedia OIDC Eksternal

Hubungkan ke penyedia identitas yang kompatibel dengan OIDC yang sudah ada (Supabase, Auth0, Authentik, Okta, dll.).

VariabelDefaultDeskripsi
OIDC_ISSUER_URLURL penemuan issuer OIDC (misalnya, https://accounts.google.com).
OIDC_CLIENT_IDID klien yang terdaftar di penyedia identitas Anda.
OIDC_CLIENT_SECRETSecret klien dari penyedia identitas Anda.
OIDC_SCOPEopenid profile emailDaftar scope OIDC yang dipisahkan spasi untuk diminta.
OIDC_REDIRECT_URIURL callback untuk aplikasi web (misalnya, https://rtcloud.example.com/auth/callback).
OIDC_MOBILE_CLIENT_IDID klien terpisah untuk aplikasi mobile rtSurvey.
OIDC_MOBILE_REDIRECT_URIURI callback aplikasi mobile (misalnya, vn.rta.rtsurvey.auth://callback).
OPEN_REGISTRATIONfalseSecara otomatis membuat akun rtCloud untuk pengguna yang pertama kali mengautentikasi melalui OIDC.
OIDC_AUTHORIZATION_ENDPOINTTimpa URL endpoint otorisasi (biarkan kosong untuk menggunakan penemuan).
OIDC_TOKEN_ENDPOINTTimpa URL endpoint token (biarkan kosong untuk menggunakan penemuan).
OIDC_USERINFO_ENDPOINTTimpa URL endpoint userinfo (biarkan kosong untuk menggunakan penemuan).

SSO — Azure Active Directory

VariabelDeskripsi
AZURE_CLIENT_IDID aplikasi (klien) Azure AD.
AZURE_TENANT_IDID direktori (tenant) Azure AD.

Integrasi Opsional

Stata

VariabelDefaultDeskripsi
STATA_ENABLEDfalseAktifkan integrasi perangkat lunak statistik Stata untuk analisis data.
STATA_BIN_PATH/usr/bin/stataPath absolut ke binary Stata di dalam container.

Elasticsearch

VariabelDeskripsi
ES_HOSTHost Elasticsearch (misalnya, http://elasticsearch:9200).
ES_PORTPort Elasticsearch.

Analitik Matomo

VariabelDeskripsi
PIWIK_URLURL server Matomo (Piwik).
PIWIK_IDID situs Matomo.
PIWIK_SECRETToken autentikasi Matomo.

OpenCPU (Komputasi R)

VariabelDeskripsi
OCPU_HOSTURL server OpenCPU untuk komputasi statistik berbasis R.

Integrasi RtBox

VariabelDeskripsi
RTBOX_HOSTURL host layanan RtBox.
RTBOX_USER_APIKunci API pengguna RtBox.
RTBOX_BASIC_AUTHKredensial autentikasi dasar untuk RtBox.

Pesan Matrix

VariabelDeskripsi
MATRIX_HOMESERVER_HOSTHost homeserver Matrix.
MATRIX_HOMESERVER_PORTPort homeserver Matrix.

Volume Data

Semua data aplikasi disimpan dalam volume Docker bernama. Volume dibuat secara otomatis pada startup pertama dan bertahan di antara restart dan pembaruan container.

VolumeTitik MountKonten
rtcloud_mysql_data/var/lib/mysqlFile database MySQL
rtcloud_uploads…/uploadsFile yang diunggah oleh responden survei
rtcloud_audios…/audiosRekaman audio
rtcloud_downloads…/downloadsFile ekspor yang dibuat
rtcloud_gallery…/galleryGambar galeri
rtcloud_voicemail…/voicemailRekaman pesan suara
rtcloud_analytics…/analyticsData analitik
rtcloud_aggregate…/aggregateHasil survei yang diagregasi
rtcloud_converter…/converterOutput konversi data
rtcloud_shiny_data/srv/shiny-server/smartsurveySkrip R server Shiny
rtcloud_shiny_logs/var/log/shiny-serverLog server Shiny
rtcloud_assets…/assetsAset web (CSS, JS)
rtcloud_runtime…/protected/runtimeCache runtime aplikasi
rtcloud_cache…/cacheCache aplikasi
rtcloud_tmp…/tmpFile sementara

Nama volume diawali dengan nilai COMPOSE_PROJECT_NAME (default: rtcloud).

Daftar semua volume untuk penerapan Anda:

  docker volume ls | grep rtcloud
  
Apakah halaman ini membantu?