Cała konfiguracja odbywa się przez zmienne środowiskowe w pliku .env w katalogu głównym wdrożenia. Docker Compose odczytuje ten plik automatycznie — nie jest potrzebna flaga --env-file.

Zmienne oznaczone jako wymagane muszą być ustawione przed uruchomieniem kontenerów. Wszystkie pozostałe mają wartości domyślne i są opcjonalne.


Projekt

Te zmienne definiują tożsamość i punkt dostępu Twojej instancji rtCloud.

ZmiennaDomyślnieWymaganaOpis
PROJECT_IDTakUnikalny identyfikator tego wdrożenia. Bez spacji ani znaków specjalnych. Używany jako prefiks do nazewnictwa wewnętrznego.
PROJECT_URLTakNazwa domeny lub adres IP, pod którym użytkownicy uzyskują dostęp do aplikacji (np. rtcloud.example.com lub 192.168.1.100).
PROJECT_TYPErtsurveyNieWariant platformy do aktywacji. Opcje: rtwork, rtsurvey, rthome.
PROJECT_PORT80NiePort, na którym aplikacja nasłuchuje wewnątrz kontenera. Nie zmieniaj, chyba że wiesz, co robisz.
HTTP_PROTOCOLhttpsNieProtokół używany do konstruowania wewnętrznych URL. Ustaw na http, jeśli nie używasz SSL.

Baza danych

Dane uwierzytelniające połączenia MySQL. Baza danych jest zarządzana automatycznie przez kontener MySQL — musisz tylko ustawić silne hasła.

ZmiennaDomyślnieWymaganaOpis
MYSQL_DATABASEsmartsurveyNieNazwa bazy danych aplikacji.
MYSQL_USERsmartsurveyNieUżytkownik MySQL dla aplikacji.
MYSQL_PASSWORDTakHasło dla MYSQL_USER. Użyj silnej, unikalnej wartości.
MYSQL_ROOT_PASSWORDTakHasło root MySQL. Wymagane do inicjalizacji bazy danych i operacji administratora.
MYSQL_HOSTmysqlNieNazwa hosta MySQL. Użyj wartości domyślnej, chyba że łączysz się z zewnętrzną bazą danych.
MYSQL_PORT3306NiePort MySQL.

Konto administratora

Konto administratora jest tworzone automatycznie przy pierwszym uruchomieniu świeżej bazy danych.

ZmiennaDomyślnieWymaganaOpis
ADMIN_PASSWORDadminTakHasło dla wbudowanego użytkownika admin. Ustaw je przed pierwszym uruchomieniem. Nie ma efektu, jeśli baza danych już istnieje.

Po pierwszym logowaniu zmień hasło administratora ze strony Ustawienia konta w interfejsie webowym.


Porty

Kontroluj, do których portów hosta aplikacja się podłącza.

ZmiennaDomyślnieOpis
APP_PORT8080Port hosta dla głównego interfejsu webowego. Zmień, jeśli port 8080 jest już używany na serwerze.
SHINY_PORT3838Port hosta dla serwera analitycznego Shiny.

Środowisko uruchomieniowe

ZmiennaDomyślnieOpis
RUN_ENVprodŚrodowisko uruchomieniowe. Użyj prod dla wdrożeń produkcyjnych, dev dla lokalnego tworzenia.
RUN_MODEadminRola kontenera. admin uruchamia pełny stos (web + kolejka + cron). worker uruchamia tylko przetwarzanie w tle (dla skalowania poziomego).
TZAsia/Ho_Chi_MinhStrefa czasowa serwera. Wpływa na znaczniki czasu dzienników, harmonogramy cron i wyświetlanie dat. Użyj nazwy ze strefy czasowej TZ (np. UTC, America/New_York, Europe/London).
LOG_LEVELinfoSzczegółowość dziennika aplikacji. Opcje: debug, info, warning, error.
COMPOSE_PROJECT_NAMErtcloudPrefiks stosowany do wszystkich nazw kontenerów i wolumenów Docker. Zmień go przy uruchamianiu wielu instancji rtCloud na tym samym hoście.
RESTART_POLICYunless-stoppedZachowanie przy restarcie kontenera Docker. Opcje: no, always, on-failure, unless-stopped.
RTCLOUD_IMAGErtawebteam/rta-smartsurvey:survey-dockerizeObraz Docker do użycia. Zmień tag, aby przypiąć konkretną wersję.
REQUIRE_LICENSEfalseWłącz weryfikację klucza licencyjnego przy uruchomieniu. Skontaktuj się z RTA w sprawie informacji o licencji.

Bezpieczeństwo

ZmiennaDomyślnieOpis
CSRF_VALIDATION_ENABLEDtrueWłącz walidację tokenu CSRF. Pozostaw true w środowisku produkcyjnym. Ustaw na false tylko podczas lokalnego tworzenia, jeśli napotkasz błędy 400 CSRF token could not be verified.
GII_ENABLEDfalseWłącz narzędzie generatora kodu frameworka Yii. Nigdy nie włączaj w środowisku produkcyjnym.

SSO — Wbudowany Keycloak

Włącz dołączony kontener Keycloak dla pełnofunkcjonalnego korporacyjnego SSO. Wymaga domeny z HTTPS.

ZmiennaDomyślnieOpis
EMBED_KEYCLOAKfalseUstaw na true, aby uruchomić wbudowany kontener Keycloak. Aktywuje profil Docker Compose embed-keycloak.
KEYCLOAK_URLPełny URL serwera Keycloak (np. https://rtcloud.example.com/auth).
KEYCLOAK_REALMNazwa realmu Keycloak (np. rtsurvey).
KEYCLOAK_CLIENT_IDID klienta Keycloak dla aplikacji rtCloud.
KEYCLOAK_CLIENT_SECRETSekret klienta Keycloak. Wygeneruj go z konsoli administratora Keycloak.
KEYCLOAK_ADMIN_USERadminNazwa użytkownika administratora Keycloak.
KEYCLOAK_ADMIN_PASSWORDHasło administratora Keycloak.
KEYCLOAK_DBkeycloakNazwa bazy danych dla Keycloak. Tworzona automatycznie przy pierwszym uruchomieniu.
KEYCLOAK_DB_USERkeycloakUżytkownik bazy danych dla Keycloak.
KEYCLOAK_DB_PASSWORDHasło bazy danych dla użytkownika Keycloak.
KC_HOSTNAMEURL frontendu Keycloak (np. https://rtcloud.example.com/auth).
KC_HOSTNAME_STRICTfalseWymuszaj ścisłe dopasowanie nazwy hosta. Ustaw na true w środowisku produkcyjnym z ustaloną domeną.

Zobacz Uwierzytelnianie SSO dla kompletnego przewodnika konfiguracji.


SSO — Zewnętrzny dostawca OIDC

Połącz się z istniejącym dostawcą tożsamości kompatybilnym z OIDC (Supabase, Auth0, Authentik, Okta itp.).

ZmiennaDomyślnieOpis
OIDC_ISSUER_URLURL odkrycia wystawcy OIDC (np. https://accounts.google.com).
OIDC_CLIENT_IDID klienta zarejestrowany u dostawcy tożsamości.
OIDC_CLIENT_SECRETSekret klienta od dostawcy tożsamości.
OIDC_SCOPEopenid profile emailRozdzielona spacjami lista zakresów OIDC do żądania.
OIDC_REDIRECT_URIURL callback dla aplikacji webowej (np. https://rtcloud.example.com/auth/callback).
OIDC_MOBILE_CLIENT_IDOddzielny ID klienta dla aplikacji mobilnej rtSurvey.
OIDC_MOBILE_REDIRECT_URIURI callback aplikacji mobilnej (np. vn.rta.rtsurvey.auth://callback).
OPEN_REGISTRATIONfalseAutomatycznie twórz konta rtCloud dla użytkowników, którzy po raz pierwszy uwierzytelniają się przez OIDC.
OIDC_AUTHORIZATION_ENDPOINTZastąp URL punktu końcowego autoryzacji (zostaw puste, aby używać odkrycia).
OIDC_TOKEN_ENDPOINTZastąp URL punktu końcowego tokenu (zostaw puste, aby używać odkrycia).
OIDC_USERINFO_ENDPOINTZastąp URL punktu końcowego informacji o użytkowniku (zostaw puste, aby używać odkrycia).

SSO — Azure Active Directory

ZmiennaOpis
AZURE_CLIENT_IDID aplikacji (klienta) Azure AD.
AZURE_TENANT_IDID katalogu (dzierżawcy) Azure AD.

Opcjonalne integracje

Stata

ZmiennaDomyślnieOpis
STATA_ENABLEDfalseWłącz integrację z oprogramowaniem statystycznym Stata do analizy danych.
STATA_BIN_PATH/usr/bin/stataBezwzględna ścieżka do pliku binarnego Stata wewnątrz kontenera.

Elasticsearch

ZmiennaOpis
ES_HOSTHost Elasticsearch (np. http://elasticsearch:9200).
ES_PORTPort Elasticsearch.

Matomo Analytics

ZmiennaOpis
PIWIK_URLURL serwera Matomo (Piwik).
PIWIK_IDID witryny Matomo.
PIWIK_SECRETToken uwierzytelniający Matomo.

OpenCPU (obliczenia R)

ZmiennaOpis
OCPU_HOSTURL serwera OpenCPU do statystycznych obliczeń opartych na R.

Integracja RtBox

ZmiennaOpis
RTBOX_HOSTURL hosta usługi RtBox.
RTBOX_USER_APIKlucz API użytkownika RtBox.
RTBOX_BASIC_AUTHDane uwierzytelniające Basic Auth dla RtBox.

Wiadomości Matrix

ZmiennaOpis
MATRIX_HOMESERVER_HOSTHost serwera domowego Matrix.
MATRIX_HOMESERVER_PORTPort serwera domowego Matrix.

Wolumeny danych

Wszystkie dane aplikacji są przechowywane w nazwanych wolumenach Docker. Wolumeny są automatycznie tworzone przy pierwszym uruchomieniu i utrzymują się przez restarty i aktualizacje kontenerów.

WolumenPunkt montowaniaZawartość
rtcloud_mysql_data/var/lib/mysqlPliki bazy danych MySQL
rtcloud_uploads…/uploadsPliki przesłane przez respondentów ankiety
rtcloud_audios…/audiosNagrania audio
rtcloud_downloads…/downloadsWygenerowane pliki eksportu
rtcloud_gallery…/galleryObrazy galerii
rtcloud_voicemail…/voicemailNagrania poczty głosowej
rtcloud_analytics…/analyticsDane analityczne
rtcloud_aggregate…/aggregateZagregowane wyniki ankiety
rtcloud_converter…/converterWyniki konwersji danych
rtcloud_shiny_data/srv/shiny-server/smartsurveySkrypty R serwera Shiny
rtcloud_shiny_logs/var/log/shiny-serverDzienniki serwera Shiny
rtcloud_assets…/assetsZasoby webowe (CSS, JS)
rtcloud_runtime…/protected/runtimePamięć podręczna środowiska uruchomieniowego aplikacji
rtcloud_cache…/cachePamięć podręczna aplikacji
rtcloud_tmp…/tmpPliki tymczasowe

Nazwy wolumenów są poprzedzone wartością COMPOSE_PROJECT_NAME (domyślnie: rtcloud).

Wyświetl wszystkie wolumeny dla swojego wdrożenia:

  docker volume ls | grep rtcloud
  
Czy ta strona była pomocna?