Цялата конфигурация се извършва чрез променливи на средата в .env файла в основната директория за разгръщане. Docker Compose чете автоматично този файл — не е необходим флаг --env-file.

Променливите, маркирани като задължителни, трябва да бъдат зададени преди стартиране на контейнерите. Всички останали имат стойности по подразбиране и са незадължителни.


Проект

Тези променливи определят идентичността и точката за достъп на вашия инстанс на rtCloud.

ПроменливаПо подразбиранеЗадължителнаОписание
PROJECT_IDДаУникален идентификатор за това разгръщане. Без интервали или специални символи. Използва се като префикс за вътрешно именуване.
PROJECT_URLДаДомейн или IP адрес, на който потребителите имат достъп до приложението (например rtcloud.example.com или 192.168.1.100).
PROJECT_TYPErtsurveyНеВариант на платформата за активиране. Опции: rtwork, rtsurvey, rthome.
PROJECT_PORT80НеПорт, на който приложението слуша вътре в контейнера. Не променяйте, освен ако не знаете какво правите.
HTTP_PROTOCOLhttpsНеПротокол, използван за изграждане на вътрешни URL адреси. Задайте на http, ако не използвате SSL.

База данни

Идентификационни данни за MySQL връзка. Базата данни се управлява автоматично от MySQL контейнера — трябва само да зададете силни пароли.

ПроменливаПо подразбиранеЗадължителнаОписание
MYSQL_DATABASEsmartsurveyНеНаименование на базата данни на приложението.
MYSQL_USERsmartsurveyНеMySQL потребител за приложението.
MYSQL_PASSWORDДаПарола за MYSQL_USER. Използвайте силна, уникална стойност.
MYSQL_ROOT_PASSWORDДаMySQL root парола. Необходима за инициализация на базата данни и административни операции.
MYSQL_HOSTmysqlНеMySQL хост. Използвайте стойността по подразбиране, освен ако не се свързвате с външна база данни.
MYSQL_PORT3306НеMySQL порт.

Администраторски акаунт

Администраторският акаунт се създава автоматично при първото стартиране на нова база данни.

ПроменливаПо подразбиранеЗадължителнаОписание
ADMIN_PASSWORDadminДаПарола за вградения потребител admin. Задайте преди първото стартиране. Няма ефект, ако базата данни вече съществува.

След първото влизане, сменете паролата на администратора от страницата Настройки на акаунта в уеб интерфейса.


Портове

Контролирайте към кои хост портове приложението се свързва.

ПроменливаПо подразбиранеОписание
APP_PORT8080Хост порт за основния уеб интерфейс. Сменете, ако порт 8080 вече е зает на сървъра ви.
SHINY_PORT3838Хост порт за аналитичния сървър Shiny.

Среда на изпълнение

ПроменливаПо подразбиранеОписание
RUN_ENVprodСреда на изпълнение. Използвайте prod за производствени разгръщания, dev за локална разработка.
RUN_MODEadminРоля на контейнера. admin стартира пълния стек (уеб + опашка + cron). worker стартира само фоновата обработка (за хоризонтално мащабиране).
TZAsia/Ho_Chi_MinhЧасова зона на сървъра. Влияе върху времевите марки на логове, cron графиците и показването на дати. Използвайте наименование от базата данни на часовите зони (например UTC, America/New_York, Europe/London).
LOG_LEVELinfoМногословност на логовете на приложението. Опции: debug, info, warning, error.
COMPOSE_PROJECT_NAMErtcloudПрефикс, прилаган към всички имена на Docker контейнери и томове. Сменете при стартиране на множество инстанси на rtCloud на един хост.
RESTART_POLICYunless-stoppedПоведение при рестартиране на Docker контейнер. Опции: no, always, on-failure, unless-stopped.
RTCLOUD_IMAGErtawebteam/rta-smartsurvey:survey-dockerizeDocker образ за използване. Сменете тага, за да закрепите конкретна версия.
REQUIRE_LICENSEfalseАктивиране на валидиране на лицензен ключ при стартиране. Свържете се с RTA за информация за лицензиране.

Сигурност

ПроменливаПо подразбиранеОписание
CSRF_VALIDATION_ENABLEDtrueАктивиране на валидиране на CSRF токен. Поддържайте true в производствена среда. Задайте на false само при локална разработка, ако срещате грешки 400 CSRF token could not be verified.
GII_ENABLEDfalseАктивиране на инструмента за генериране на код на Yii фреймуърка. Никога не активирайте в производствена среда.

SSO — Вграден Keycloak

Активирайте вградения Keycloak контейнер за пълнофункционален корпоративен SSO. Изисква домейн с HTTPS.

ПроменливаПо подразбиранеОписание
EMBED_KEYCLOAKfalseЗадайте на true, за да стартирате вградения Keycloak контейнер. Активира Docker Compose профила embed-keycloak.
KEYCLOAK_URLПълен URL адрес на Keycloak сървъра (например https://rtcloud.example.com/auth).
KEYCLOAK_REALMНаименование на Keycloak realm (например rtsurvey).
KEYCLOAK_CLIENT_IDKeycloak client ID за приложението rtCloud.
KEYCLOAK_CLIENT_SECRETKeycloak client secret. Генерирайте от конзолата на Keycloak администратора.
KEYCLOAK_ADMIN_USERadminПотребителско име на Keycloak администратора.
KEYCLOAK_ADMIN_PASSWORDПарола на Keycloak администратора.
KEYCLOAK_DBkeycloakНаименование на базата данни за Keycloak. Създава се автоматично при първото стартиране.
KEYCLOAK_DB_USERkeycloakПотребител на базата данни за Keycloak.
KEYCLOAK_DB_PASSWORDПарола на базата данни за Keycloak потребителя.
KC_HOSTNAMEURL адрес на предния план на Keycloak (например https://rtcloud.example.com/auth).
KC_HOSTNAME_STRICTfalseПрилагане на строго съвпадение на хостовото наименование. Задайте на true в производствена среда с фиксиран домейн.

Вижте SSO удостоверяване за пълното ръководство за настройка.


SSO — Външен OIDC доставчик

Свържете се с съществуващ OIDC-съвместим доставчик на самоличност (Supabase, Auth0, Authentik, Okta и др.).

ПроменливаПо подразбиранеОписание
OIDC_ISSUER_URLURL адрес за открие на OIDC издател (например https://accounts.google.com).
OIDC_CLIENT_IDClient ID, регистриран при вашия доставчик на самоличност.
OIDC_CLIENT_SECRETClient secret от вашия доставчик на самоличност.
OIDC_SCOPEopenid profile emailРазделен с интервали списък от OIDC обхвати за заявка.
OIDC_REDIRECT_URICallback URL за уеб приложението (например https://rtcloud.example.com/auth/callback).
OIDC_MOBILE_CLIENT_IDОтделен client ID за мобилното приложение rtSurvey.
OIDC_MOBILE_REDIRECT_URICallback URI за мобилното приложение (например vn.rta.rtsurvey.auth://callback).
OPEN_REGISTRATIONfalseАвтоматично създаване на rtCloud акаунти за потребители, удостоверени чрез OIDC за първи път.
OIDC_AUTHORIZATION_ENDPOINTЗаместващ URL адрес за крайната точка на удостоверяване (оставете празно за автоматично открие).
OIDC_TOKEN_ENDPOINTЗаместващ URL адрес за крайната точка на токен (оставете празно за автоматично открие).
OIDC_USERINFO_ENDPOINTЗаместващ URL адрес за крайната точка на информация за потребителя (оставете празно за автоматично открие).

SSO — Azure Active Directory

ПроменливаОписание
AZURE_CLIENT_IDAzure AD ID на приложение (client).
AZURE_TENANT_IDAzure AD ID на директория (tenant).

Незадължителни интеграции

Stata

ПроменливаПо подразбиранеОписание
STATA_ENABLEDfalseАктивиране на интеграция на статистическия софтуер Stata за анализ на данни.
STATA_BIN_PATH/usr/bin/stataАбсолютен път до двоичния файл Stata вътре в контейнера.

Elasticsearch

ПроменливаОписание
ES_HOSTХост на Elasticsearch (например http://elasticsearch:9200).
ES_PORTПорт на Elasticsearch.

Matomo Analytics

ПроменливаОписание
PIWIK_URLURL адрес на Matomo (Piwik) сървъра.
PIWIK_IDИдентификатор на сайта в Matomo.
PIWIK_SECRETТокен за удостоверяване в Matomo.

OpenCPU (R изчисления)

ПроменливаОписание
OCPU_HOSTURL адрес на OpenCPU сървъра за статистически изчисления базирани на R.

RtBox интеграция

ПроменливаОписание
RTBOX_HOSTURL адрес на хоста на RtBox услугата.
RTBOX_USER_APIAPI ключ на потребителя на RtBox.
RTBOX_BASIC_AUTHИдентификационни данни за основно удостоверяване за RtBox.

Matrix съобщения

ПроменливаОписание
MATRIX_HOMESERVER_HOSTХост на Matrix homeserver.
MATRIX_HOMESERVER_PORTПорт на Matrix homeserver.

Томове с данни

Всички данни на приложението се съхраняват в именувани Docker томове. Томовете се създават автоматично при първото стартиране и продължават да съществуват при рестартиране и актуализиране на контейнери.

ТомТочка на монтиранеСъдържание
rtcloud_mysql_data/var/lib/mysqlФайлове на базата данни MySQL
rtcloud_uploads…/uploadsФайлове, качени от респондентите на анкетата
rtcloud_audios…/audiosАудио записи
rtcloud_downloads…/downloadsГенерирани файлове за експорт
rtcloud_gallery…/galleryИзображения от галерията
rtcloud_voicemail…/voicemailГласови съобщения
rtcloud_analytics…/analyticsАналитични данни
rtcloud_aggregate…/aggregateОбобщени резултати от анкетата
rtcloud_converter…/converterИзходни данни от конверсия
rtcloud_shiny_data/srv/shiny-server/smartsurveyR скриптове на Shiny сървъра
rtcloud_shiny_logs/var/log/shiny-serverЛогове на Shiny сървъра
rtcloud_assets…/assetsУеб активи (CSS, JS)
rtcloud_runtime…/protected/runtimeКеш на приложението по време на изпълнение
rtcloud_cache…/cacheКеш на приложението
rtcloud_tmp…/tmpВременни файлове

Имената на томовете са с префикс от стойността на COMPOSE_PROJECT_NAME (по подразбиране: rtcloud).

Изведете всички томове за вашето разгръщане:

  docker volume ls | grep rtcloud
  
Беше ли полезна тази страница?