Sva konfiguracija se vrši putem promenljivih okruženja u .env datoteci u korenom direktorijumu vaše primene. Docker Compose čita ovu datoteku automatski — nije potrebna oznaka --env-file.

Promenljive označene kao obavezne moraju biti postavljene pre pokretanja kontejnera. Sve ostale imaju podrazumevane vrednosti i opcione su.


Projekat

Ove promenljive definišu identitet i pristupnu tačku vaše rtCloud instance.

PromenljivaPodrazumevanoObaveznoOpis
PROJECT_IDDaJedinstveni identifikator za ovu primenu. Bez razmaka ili specijalnih znakova. Koristi se kao prefiks za interno imenovanje.
PROJECT_URLDaNaziv domena ili IP adresa gde korisnici pristupaju aplikaciji (npr. rtcloud.example.com ili 192.168.1.100).
PROJECT_TYPErtsurveyNeVarijanta platforme koja se aktivira. Opcije: rtwork, rtsurvey, rthome.
PROJECT_PORT80NePort na kome aplikacija sluša unutar kontejnera. Ne menjajte ako ne znate šta radite.
HTTP_PROTOCOLhttpsNeProtokol koji se koristi za konstruisanje internih URL-ova. Postavite na http ako ne koristite SSL.

Baza podataka

MySQL akreditivi za vezu. Bazom podataka automatski upravlja MySQL kontejner — potrebno je samo da postavite snažne lozinke.

PromenljivaPodrazumevanoObaveznoOpis
MYSQL_DATABASEsmartsurveyNeNaziv baze podataka aplikacije.
MYSQL_USERsmartsurveyNeMySQL korisnik za aplikaciju.
MYSQL_PASSWORDDaLozinka za MYSQL_USER. Koristite snažnu, jedinstvenu vrednost.
MYSQL_ROOT_PASSWORDDaMySQL root lozinka. Potrebna za inicijalizaciju baze podataka i administratorske operacije.
MYSQL_HOSTmysqlNeMySQL hostname. Koristite podrazumevano osim ako se povezujete na spoljnu bazu podataka.
MYSQL_PORT3306NeMySQL port.

Administratorski nalog

Administratorski nalog se automatski kreira pri prvom pokretanju nove baze podataka.

PromenljivaPodrazumevanoObaveznoOpis
ADMIN_PASSWORDadminDaLozinka za ugrađenog korisnika admin. Postavite ovo pre prvog pokretanja. Nema efekta ako baza podataka već postoji.

Nakon prve prijave, promenite administratorsku lozinku sa stranice Podešavanja naloga u veb UI-u.


Portovi

Kontrolišite koje host portove aplikacija koristi.

PromenljivaPodrazumevanoOpis
APP_PORT8080Host port za glavni veb UI. Promenite ovo ako je port 8080 već u upotrebi na vašem serveru.
SHINY_PORT3838Host port za Shiny analitički server.

Radno okruženje

PromenljivaPodrazumevanoOpis
RUN_ENVprodRadno okruženje. Koristite prod za produkcione primene, dev za lokalni razvoj.
RUN_MODEadminUloga kontejnera. admin pokreće celi stek (veb + red + cron). worker pokreće samo pozadinsku obradu (za horizontalno skaliranje).
TZAsia/Ho_Chi_MinhVremenska zona servera. Utiče na vremenske oznake u evidencijama, cron rasporede i prikaz datuma. Koristite TZ ime baze podataka (npr. UTC, America/New_York, Europe/London).
LOG_LEVELinfoDetaljnost aplikativnog evidenciranja. Opcije: debug, info, warning, error.
COMPOSE_PROJECT_NAMErtcloudPrefiks primenjen na sva Docker imena kontejnera i volumena. Promenite ovo kada pokrećete više rtCloud instanci na istom hostu.
RESTART_POLICYunless-stoppedPonašanje Docker kontejnera pri ponovnom pokretanju. Opcije: no, always, on-failure, unless-stopped.
RTCLOUD_IMAGErtawebteam/rta-smartsurvey:survey-dockerizeDocker slika koja se koristi. Promenite oznaku da zakačite određenu verziju.
REQUIRE_LICENSEfalseAktivirajte validaciju licencnog ključa pri pokretanju. Kontaktirajte RTA za informacije o licenci.

Bezbednost

PromenljivaPodrazumevanoOpis
CSRF_VALIDATION_ENABLEDtrueAktivirajte validaciju CSRF tokena. Zadržite ovo na true u produkciji. Postavite na false samo u lokalnom razvoju ako naiđete na greške 400 CSRF token could not be verified.
GII_ENABLEDfalseAktivirajte Yii framework alat za generisanje koda. Nikada ne aktivirajte u produkciji.

SSO — Ugrađeni Keycloak

Aktivirajte priloženi Keycloak kontejner za SSO sa punim funkcionalnostima na nivou preduzeća. Zahteva domen sa HTTPS-om.

PromenljivaPodrazumevanoOpis
EMBED_KEYCLOAKfalsePostavite na true da pokrenete ugrađeni Keycloak kontejner. Aktivira embed-keycloak Docker Compose profil.
KEYCLOAK_URLPuni URL Keycloak servera (npr. https://rtcloud.example.com/auth).
KEYCLOAK_REALMNaziv Keycloak realma (npr. rtsurvey).
KEYCLOAK_CLIENT_IDKeycloak ID klijenta za rtCloud aplikaciju.
KEYCLOAK_CLIENT_SECRETKeycloak tajna klijenta. Generišite ovo iz Keycloak administratorske konzole.
KEYCLOAK_ADMIN_USERadminKeycloak administratorsko korisničko ime.
KEYCLOAK_ADMIN_PASSWORDKeycloak administratorska lozinka.
KEYCLOAK_DBkeycloakNaziv baze podataka za Keycloak. Automatski se kreira pri prvom pokretanju.
KEYCLOAK_DB_USERkeycloakKorisnik baze podataka za Keycloak.
KEYCLOAK_DB_PASSWORDLozinka baze podataka za Keycloak korisnika.
KC_HOSTNAMEKeycloak frontend URL (npr. https://rtcloud.example.com/auth).
KC_HOSTNAME_STRICTfalsePrimenite striktno podudaranje hostname-a. Postavite na true u produkciji sa fiksnim domenom.

Pogledajte SSO autentifikaciju za kompletan vodič za podešavanje.


SSO — Spoljni OIDC pružalac

Povežite se na postojećeg OIDC-kompatibilnog pružaoca identiteta (Supabase, Auth0, Authentik, Okta, itd.).

PromenljivaPodrazumevanoOpis
OIDC_ISSUER_URLOIDC URL za otkrivanje izdavaoca (npr. https://accounts.google.com).
OIDC_CLIENT_IDID klijenta registrovanog kod vašeg pružaoca identiteta.
OIDC_CLIENT_SECRETTajna klijenta od vašeg pružaoca identiteta.
OIDC_SCOPEopenid profile emailLista OIDC opsega za zahtevanje razdvojena razmacima.
OIDC_REDIRECT_URIURL za povratni poziv za veb aplikaciju (npr. https://rtcloud.example.com/auth/callback).
OIDC_MOBILE_CLIENT_IDPoseban ID klijenta za rtSurvey mobilnu aplikaciju.
OIDC_MOBILE_REDIRECT_URIURI mobilne aplikacije za povratni poziv (npr. vn.rta.rtsurvey.auth://callback).
OPEN_REGISTRATIONfalseAutomatski kreirajte rtCloud naloge za korisnike koji se prvi put autentifikuju putem OIDC-a.
OIDC_AUTHORIZATION_ENDPOINTZamenite URL krajnje tačke za autorizaciju (ostavite prazno da koristite otkrivanje).
OIDC_TOKEN_ENDPOINTZamenite URL krajnje tačke za token (ostavite prazno da koristite otkrivanje).
OIDC_USERINFO_ENDPOINTZamenite URL krajnje tačke za informacije o korisniku (ostavite prazno da koristite otkrivanje).

SSO — Azure Active Directory

PromenljivaOpis
AZURE_CLIENT_IDAzure AD ID aplikacije (klijenta).
AZURE_TENANT_IDAzure AD ID direktorijuma (zakupca).

Opcione integracije

Stata

PromenljivaPodrazumevanoOpis
STATA_ENABLEDfalseAktivirajte integraciju Stata statističkog softvera za analizu podataka.
STATA_BIN_PATH/usr/bin/stataApsolutna putanja do Stata binarne datoteke unutar kontejnera.

Elasticsearch

PromenljivaOpis
ES_HOSTElasticsearch host (npr. http://elasticsearch:9200).
ES_PORTElasticsearch port.

Matomo analitika

PromenljivaOpis
PIWIK_URLURL Matomo (Piwik) servera.
PIWIK_IDMatomo ID sajta.
PIWIK_SECRETMatomo autentifikacioni token.

OpenCPU (R izračunavanje)

PromenljivaOpis
OCPU_HOSTURL OpenCPU servera za statističko izračunavanje zasnovano na R-u.

RtBox integracija

PromenljivaOpis
RTBOX_HOSTURL hosta RtBox servisa.
RTBOX_USER_APIAPI ključ korisnika RtBox-a.
RTBOX_BASIC_AUTHAkreditivi za osnovna autentifikaciju za RtBox.

Matrix poruke

PromenljivaOpis
MATRIX_HOMESERVER_HOSTMatrix homeserver host.
MATRIX_HOMESERVER_PORTMatrix homeserver port.

Volumeni podataka

Svi aplikativni podaci su smešteni u imenovanim Docker volumenima. Volumeni se automatski kreiraju pri prvom pokretanju i opstaju kroz restartovanje i ažuriranja kontejnera.

VolumenTačka montiranjaSadržaj
rtcloud_mysql_data/var/lib/mysqlMySQL datoteke baze podataka
rtcloud_uploads…/uploadsDatoteke koje su ispitanici ankete otpremili
rtcloud_audios…/audiosAudio snimci
rtcloud_downloads…/downloadsGenerisane izvozne datoteke
rtcloud_gallery…/gallerySlike galerije
rtcloud_voicemail…/voicemailSnimci govorne pošte
rtcloud_analytics…/analyticsAnalitički podaci
rtcloud_aggregate…/aggregateAgregirani rezultati ankete
rtcloud_converter…/converterIzlazi konverzije podataka
rtcloud_shiny_data/srv/shiny-server/smartsurveyShiny server R skripte
rtcloud_shiny_logs/var/log/shiny-serverEvidencije Shiny servera
rtcloud_assets…/assetsVeb resursi (CSS, JS)
rtcloud_runtime…/protected/runtimeKeš aplikativnog radnog okruženja
rtcloud_cache…/cacheKeš aplikacije
rtcloud_tmp…/tmpPrivremene datoteke

Nazivi volumena su prefiksovani vrednošću COMPOSE_PROJECT_NAME (podrazumevano: rtcloud).

Navedite sve volumene za vašu primenu:

  docker volume ls | grep rtcloud
  
Da li je ova stranica bila korisna?