ឯកសារការកំណត់
ឯកសារពេញលេញ សម្រាប់ environment variables ទាំងអស់ ដែលប្រើ configure ការដាក់ deployed rtCloud ខ្លួនឯង។
ការកំណត់ទាំងអស់ ត្រូវបានធ្វើ តាមរយៈ environment variables នៅក្នុងឯកសារ .env នៅ root នៃ directory ដាក់ deployed របស់អ្នក។ Docker Compose អានឯកសារនេះ ដោយស្វ័យប្រវត្តិ — មិនត្រូវការ flag --env-file ទេ។
Variables ដែលសម្គាល់ ចាំបាច់ ត្រូវតែ set មុន ចាប់ផ្ដើម containers។ ផ្សេងទៀត ទាំងអស់ មានលំនាំដើម ហើយ ស្រេចចិត្ត។
គម្រោង
Variables ទាំងនេះ កំណត់អត្តសញ្ញាណ និងចំណុចចូលដំណើរការ នៃ rtCloud instance របស់អ្នក។
| Variable | លំនាំដើម | ចាំបាច់ | ការពិពណ៌នា |
|---|---|---|---|
PROJECT_ID | — | បាទ | អត្តសញ្ញាណតែមួយគត់ សម្រាប់ការដាក់ deployed នេះ។ គ្មានចន្លោះ ឬ តួអក្សរពិសេស ។ ប្រើ ជា prefix សម្រាប់ការដាក់ឈ្មោះខាងក្នុង។ |
PROJECT_URL | — | បាទ | ឈ្មោះ domain ឬ IP address ដែលអ្នកប្រើ ចូលដំណើរការ app (ឧ. rtcloud.example.com ឬ 192.168.1.100)។ |
PROJECT_TYPE | rtsurvey | ទេ | កំណែ platform ដើម្បីបើកដំណើរការ។ Options: rtwork, rtsurvey, rthome។ |
PROJECT_PORT | 80 | ទេ | Port ដែល application ស្ដាប់ ក្នុង container។ កុំ ផ្លាស់ប្ដូរ លុះត្រាតែ អ្នកដឹង ថាអ្នកកំពុងធ្វើអ្វី។ |
HTTP_PROTOCOL | https | ទេ | Protocol ដែល ប្រើ ដើម្បីស្ថាបនា URLs ខាងក្នុង។ Set ទៅ http ប្រសិនបើ អ្នកមិន ប្រើ SSL។ |
មូលដ្ឋានទិន្នន័យ
ព័ត៌មានសម្ងាត់ connection MySQL។ មូលដ្ឋានទិន្នន័យ ត្រូវបានគ្រប់គ្រង ដោយស្វ័យប្រវត្តិ ដោយ MySQL container — អ្នក ត្រូវការ set តែ ពាក្យសម្ងាត់ ខ្លាំង ប៉ុណ្ណោះ។
| Variable | លំនាំដើម | ចាំបាច់ | ការពិពណ៌នា |
|---|---|---|---|
MYSQL_DATABASE | smartsurvey | ទេ | ឈ្មោះ application database។ |
MYSQL_USER | smartsurvey | ទេ | MySQL user សម្រាប់ application។ |
MYSQL_PASSWORD | — | បាទ | ពាក្យសម្ងាត់ សម្រាប់ MYSQL_USER។ ប្រើ តម្លៃ ខ្លាំង តែមួយគត់។ |
MYSQL_ROOT_PASSWORD | — | បាទ | ពាក្យសម្ងាត់ MySQL root។ ចាំបាច់ សម្រាប់ initialization មូលដ្ឋានទិន្នន័យ និង admin operations។ |
MYSQL_HOST | mysql | ទេ | MySQL hostname។ ប្រើ default លុះត្រាតែ អ្នក ភ្ជាប់ ទៅ database ខាងក្រៅ។ |
MYSQL_PORT | 3306 | ទេ | MySQL port។ |
គណនី Admin
គណនី admin ត្រូវបានបង្កើត ដោយស្វ័យប្រវត្តិ នៅ boot ដំបូង នៃ database ថ្មី។
| Variable | លំនាំដើម | ចាំបាច់ | ការពិពណ៌នា |
|---|---|---|---|
ADMIN_PASSWORD | admin | បាទ | ពាក្យសម្ងាត់ សម្រាប់ admin user ដែលភ្ជាប់។ Set វា មុន boot ដំបូង។ គ្មានប្រសិទ្ធភាព ប្រសិនបើ database មានស្រាប់។ |
បន្ទាប់ពី ចូលដំបូង ផ្លាស់ប្ដូរ ពាក្យសម្ងាត់ admin ពី Account Settings page ក្នុង web UI។
Ports
ត្រួតពិនិត្យ host ports ដែល application ភ្ជាប់ ជាមួយ។
| Variable | លំនាំដើម | ការពិពណ៌នា |
|---|---|---|
APP_PORT | 8080 | Host port សម្រាប់ web UI ចម្បង។ ផ្លាស់ប្ដូរ ប្រសិនបើ port 8080 ត្រូវបានប្រើ ស្រាប់ នៅលើ server របស់អ្នក។ |
SHINY_PORT | 3838 | Host port សម្រាប់ Shiny analytics server។ |
Runtime
| Variable | លំនាំដើម | ការពិពណ៌នា |
|---|---|---|
RUN_ENV | prod | Runtime environment។ ប្រើ prod សម្រាប់ production deployments, dev សម្រាប់ local development។ |
RUN_MODE | admin | Container role។ admin ដំណើរការ full stack (web + queue + cron)។ worker ដំណើរការ background processing (សម្រាប់ horizontal scaling)។ |
TZ | Asia/Ho_Chi_Minh | Timezone ម៉ាស៊ីនមេ។ ប៉ះពាល់ timestamps log, schedules cron, និងការបង្ហាញ date។ ប្រើ TZ database name (ឧ. UTC, America/New_York, Europe/London)។ |
LOG_LEVEL | info | ភាពរលំអានតក្ក log Application។ Options: debug, info, warning, error។ |
COMPOSE_PROJECT_NAME | rtcloud | Prefix ដែលអនុវត្ត ទៅ container Docker ទាំងអស់ និងឈ្មោះ volume។ ផ្លាស់ប្ដូរ នៅពេល ដំណើរការ rtCloud instances ច្រើន នៅ host តែមួយ។ |
RESTART_POLICY | unless-stopped | ឥរិយាបទ restart container Docker។ Options: no, always, on-failure, unless-stopped។ |
RTCLOUD_IMAGE | rtawebteam/rta-smartsurvey:survey-dockerize | Docker image ដើម្បី ប្រើ។ ផ្លាស់ប្ដូរ tag ដើម្បី pin version ជាក់លាក់។ |
REQUIRE_LICENSE | false | បើក ការ validate license key នៅ startup។ ទាក់ទង RTA សម្រាប់ ព័ត៌មាន license។ |
សុវត្ថិភាព
| Variable | លំនាំដើម | ការពិពណ៌នា |
|---|---|---|
CSRF_VALIDATION_ENABLED | true | បើក CSRF token validation។ រក្សា true ក្នុង production។ Set ទៅ false មានតែ ក្នុង local development ប្រសិនបើ អ្នកជួបប្រទះ 400 CSRF token could not be verified errors។ |
GII_ENABLED | false | បើក Yii framework code generator tool។ កុំ បើក ក្នុង production ។ |
SSO — Keycloak ភ្ជាប់
បើក Keycloak container ដែលភ្ជាប់ សម្រាប់ SSO សហគ្រាស ដែលពោរពេញ feature។ ត្រូវការ domain ជាមួយ HTTPS។
| Variable | លំនាំដើម | ការពិពណ៌នា |
|---|---|---|
EMBED_KEYCLOAK | false | Set ទៅ true ដើម្បី ចាប់ផ្ដើម Keycloak container ភ្ជាប់។ |
KEYCLOAK_URL | — | URL ពេញ នៃ Keycloak server (ឧ. https://rtcloud.example.com/auth)។ |
KEYCLOAK_REALM | — | ឈ្មោះ Keycloak realm (ឧ. rtsurvey)។ |
KEYCLOAK_CLIENT_ID | — | Keycloak client ID សម្រាប់ rtCloud application។ |
KEYCLOAK_CLIENT_SECRET | — | Keycloak client secret។ Generate ពី Keycloak admin console។ |
KEYCLOAK_ADMIN_USER | admin | ឈ្មោះអ្នកប្រើ administrator Keycloak។ |
KEYCLOAK_ADMIN_PASSWORD | — | ពាក្យសម្ងាត់ administrator Keycloak។ |
KEYCLOAK_DB | keycloak | ឈ្មោះ database សម្រាប់ Keycloak។ |
KEYCLOAK_DB_USER | keycloak | Database user សម្រាប់ Keycloak។ |
KEYCLOAK_DB_PASSWORD | — | ពាក្យសម្ងាត់ database សម្រាប់ Keycloak user។ |
KC_HOSTNAME | — | Keycloak frontend URL (ឧ. https://rtcloud.example.com/auth)។ |
KC_HOSTNAME_STRICT | false | Enforce hostname matching ដ៏តឹងរ៉ឹង។ Set ទៅ true ក្នុង production ជាមួយ domain ថេរ។ |
SSO — External OIDC Provider
ភ្ជាប់ ទៅ identity provider ដែលស្របគ្នា OIDC ដែលមានស្រាប់ (Supabase, Auth0, Authentik, Okta, ។ ល។)។
| Variable | លំនាំដើម | ការពិពណ៌នា |
|---|---|---|
OIDC_ISSUER_URL | — | OIDC issuer discovery URL (ឧ. https://accounts.google.com)។ |
OIDC_CLIENT_ID | — | Client ID ដែលបានចុះឈ្មោះ ក្នុង identity provider របស់អ្នក។ |
OIDC_CLIENT_SECRET | — | Client secret ពី identity provider របស់អ្នក។ |
OIDC_SCOPE | openid profile email | បញ្ជី OIDC scopes ដែលចែក ដោយ space ដើម្បី request។ |
OIDC_REDIRECT_URI | — | Callback URL សម្រាប់ web app (ឧ. https://rtcloud.example.com/auth/callback)។ |
OIDC_MOBILE_CLIENT_ID | — | Client ID ដាច់ ដោយ ឡែក សម្រាប់ rtSurvey mobile app។ |
OIDC_MOBILE_REDIRECT_URI | — | Mobile app callback URI (ឧ. vn.rta.rtsurvey.auth://callback)។ |
OPEN_REGISTRATION | false | បង្កើត rtCloud accounts ដោយស្វ័យប្រវត្តិ សម្រាប់ users ដែល authenticate តាមរយៈ OIDC ជាលើកដំបូង។ |
SSO — Azure Active Directory
| Variable | ការពិពណ៌នា |
|---|---|
AZURE_CLIENT_ID | Azure AD application (client) ID។ |
AZURE_TENANT_ID | Azure AD directory (tenant) ID។ |
ការរួមបញ្ចូល ស្រេចចិត្ត
Stata
| Variable | លំនាំដើម | ការពិពណ៌នា |
|---|---|---|
STATA_ENABLED | false | បើក Stata statistical software integration សម្រាប់ ការ វិភាគ ទិន្នន័យ។ |
STATA_BIN_PATH | /usr/bin/stata | Path ដាច់ ខាត ទៅ Stata binary ក្នុង container។ |
Elasticsearch
| Variable | ការពិពណ៌នា |
|---|---|
ES_HOST | Elasticsearch host (ឧ. http://elasticsearch:9200)។ |
ES_PORT | Elasticsearch port។ |
Data Volumes
ទិន្នន័យ application ទាំងអស់ ត្រូវបានរក្សាទុក ក្នុង named Docker volumes។ Volumes ត្រូវបានបង្កើតដោយស្វ័យប្រវត្តិ នៅ startup ដំបូង ហើយ persist នៅទូទាំង container restarts និង updates។
| Volume | Mount Point | ខ្លឹមសារ |
|---|---|---|
rtcloud_mysql_data | /var/lib/mysql | ឯកសារ MySQL database |
rtcloud_uploads | …/uploads | ឯកសារ ដែលបញ្ចូល ដោយ អ្នកឆ្លើយតប ស្ទង់មតិ |
rtcloud_audios | …/audios | ការថតសូរ |
rtcloud_downloads | …/downloads | ឯកសារ export ដែលបង្កើត |
rtcloud_gallery | …/gallery | រូបភាព gallery |
rtcloud_voicemail | …/voicemail | ការថត voicemail |
rtcloud_analytics | …/analytics | ទិន្នន័យ analytics |
rtcloud_shiny_data | /srv/shiny-server/smartsurvey | R scripts Shiny server |
rtcloud_shiny_logs | /var/log/shiny-server | Shiny server logs |
ឈ្មោះ Volume ត្រូវបាន prefix ដោយ តម្លៃ COMPOSE_PROJECT_NAME (default: rtcloud)។
docker volume ls | grep rtcloud