Tutta la configurazione viene eseguita tramite variabili d’ambiente nel file .env nella directory principale del tuo deployment. Docker Compose legge questo file automaticamente — non è necessario il flag --env-file.

Le variabili contrassegnate come obbligatorie devono essere impostate prima di avviare i container. Tutte le altre hanno valori predefiniti e sono opzionali.


Progetto

Queste variabili definiscono l’identità e il punto di accesso della tua istanza rtCloud.

VariabilePredefinitoObbligatorioDescrizione
PROJECT_IDIdentificatore univoco per questo deployment. Senza spazi o caratteri speciali. Usato come prefisso per la denominazione interna.
PROJECT_URLNome di dominio o indirizzo IP dove gli utenti accedono all’app (es. rtcloud.example.com o 192.168.1.100).
PROJECT_TYPErtsurveyNoVariante della piattaforma da attivare. Opzioni: rtwork, rtsurvey, rthome.
PROJECT_PORT80NoPorta su cui l’applicazione è in ascolto all’interno del container. Non modificare a meno che tu non sappia cosa stai facendo.
HTTP_PROTOCOLhttpsNoProtocollo usato per costruire gli URL interni. Imposta a http se non stai usando SSL.

Database

Credenziali di connessione MySQL. Il database è gestito automaticamente dal container MySQL — devi solo impostare password forti.

VariabilePredefinitoObbligatorioDescrizione
MYSQL_DATABASEsmartsurveyNoNome del database dell’applicazione.
MYSQL_USERsmartsurveyNoUtente MySQL per l’applicazione.
MYSQL_PASSWORDPassword per MYSQL_USER. Usa un valore forte e univoco.
MYSQL_ROOT_PASSWORDPassword root di MySQL. Richiesta per l’inizializzazione del database e le operazioni amministrative.
MYSQL_HOSTmysqlNoHostname MySQL. Usa il valore predefinito a meno che tu non ti stia connettendo a un database esterno.
MYSQL_PORT3306NoPorta MySQL.

Account amministratore

L’account amministratore viene creato automaticamente al primo avvio di un database nuovo.

VariabilePredefinitoObbligatorioDescrizione
ADMIN_PASSWORDadminPassword per l’utente admin integrato. Impostala prima del primo avvio. Non ha effetto se il database esiste già.

Dopo il primo accesso, cambia la password di amministratore dalla pagina Impostazioni account nell’interfaccia web.


Porte

Controlla a quali porte host l’applicazione si lega.

VariabilePredefinitoDescrizione
APP_PORT8080Porta host per l’interfaccia web principale. Cambia questa se la porta 8080 è già in uso sul tuo server.
SHINY_PORT3838Porta host per il server di analisi Shiny.

Runtime

VariabilePredefinitoDescrizione
RUN_ENVprodAmbiente di runtime. Usa prod per i deployment in produzione, dev per lo sviluppo locale.
RUN_MODEadminRuolo del container. admin esegue lo stack completo (web + coda + cron). worker esegue solo l’elaborazione in background (per la scalabilità orizzontale).
TZAsia/Ho_Chi_MinhFuso orario del server. Influisce sui timestamp dei log, le pianificazioni cron e la visualizzazione delle date. Usa un nome del database TZ (es. UTC, America/New_York, Europe/London).
LOG_LEVELinfoVerbosità del log dell’applicazione. Opzioni: debug, info, warning, error.
COMPOSE_PROJECT_NAMErtcloudPrefisso applicato a tutti i nomi di container e volumi Docker. Cambia questo quando esegui più istanze rtCloud sullo stesso host.
RESTART_POLICYunless-stoppedComportamento di riavvio del container Docker. Opzioni: no, always, on-failure, unless-stopped.
RTCLOUD_IMAGErtawebteam/rta-smartsurvey:survey-dockerizeImmagine Docker da usare. Cambia il tag per fissare una versione specifica.
REQUIRE_LICENSEfalseAbilita la validazione della chiave di licenza all’avvio. Contatta RTA per informazioni sulla licenza.

Sicurezza

VariabilePredefinitoDescrizione
CSRF_VALIDATION_ENABLEDtrueAbilita la validazione del token CSRF. Mantieni true in produzione. Imposta a false solo nello sviluppo locale se incontri errori 400 CSRF token could not be verified.
GII_ENABLEDfalseAbilita lo strumento di generazione codice del framework Yii. Non abilitare mai in produzione.

SSO — Keycloak integrato

Abilita il container Keycloak integrato per SSO aziendale completo. Richiede un dominio con HTTPS.

VariabilePredefinitoDescrizione
EMBED_KEYCLOAKfalseImposta a true per avviare il container Keycloak integrato. Attiva il profilo Docker Compose embed-keycloak.
KEYCLOAK_URLURL completo del server Keycloak (es. https://rtcloud.example.com/auth).
KEYCLOAK_REALMNome del realm Keycloak (es. rtsurvey).
KEYCLOAK_CLIENT_IDID client Keycloak per l’applicazione rtCloud.
KEYCLOAK_CLIENT_SECRETSegreto client Keycloak. Generalo dalla console di amministrazione Keycloak.
KEYCLOAK_ADMIN_USERadminNome utente dell’amministratore Keycloak.
KEYCLOAK_ADMIN_PASSWORDPassword dell’amministratore Keycloak.
KEYCLOAK_DBkeycloakNome del database per Keycloak. Creato automaticamente al primo avvio.
KEYCLOAK_DB_USERkeycloakUtente del database per Keycloak.
KEYCLOAK_DB_PASSWORDPassword del database per l’utente Keycloak.
KC_HOSTNAMEURL frontend Keycloak (es. https://rtcloud.example.com/auth).
KC_HOSTNAME_STRICTfalseApplica la corrispondenza stretta del hostname. Imposta a true in produzione con un dominio fisso.

Vedi Autenticazione SSO per la guida di configurazione completa.


SSO — Provider OIDC esterno

Connettiti a un provider di identità compatibile con OIDC esistente (Supabase, Auth0, Authentik, Okta, ecc.).

VariabilePredefinitoDescrizione
OIDC_ISSUER_URLURL di discovery dell’emittente OIDC (es. https://accounts.google.com).
OIDC_CLIENT_IDID client registrato nel tuo provider di identità.
OIDC_CLIENT_SECRETSegreto client dal tuo provider di identità.
OIDC_SCOPEopenid profile emailElenco di scope OIDC separati da spazi da richiedere.
OIDC_REDIRECT_URIURL di callback per l’app web (es. https://rtcloud.example.com/auth/callback).
OIDC_MOBILE_CLIENT_IDID client separato per l’app mobile rtSurvey.
OIDC_MOBILE_REDIRECT_URIURI di callback per l’app mobile (es. vn.rta.rtsurvey.auth://callback).
OPEN_REGISTRATIONfalseCrea automaticamente account rtCloud per gli utenti che si autenticano tramite OIDC per la prima volta.
OIDC_AUTHORIZATION_ENDPOINTSovrascrive l’URL dell’endpoint di autorizzazione (lascia vuoto per usare il discovery).
OIDC_TOKEN_ENDPOINTSovrascrive l’URL dell’endpoint token (lascia vuoto per usare il discovery).
OIDC_USERINFO_ENDPOINTSovrascrive l’URL dell’endpoint userinfo (lascia vuoto per usare il discovery).

SSO — Azure Active Directory

VariabileDescrizione
AZURE_CLIENT_IDID applicazione (client) Azure AD.
AZURE_TENANT_IDID directory (tenant) Azure AD.

Integrazioni opzionali

Stata

VariabilePredefinitoDescrizione
STATA_ENABLEDfalseAbilita l’integrazione con il software statistico Stata per l’analisi dei dati.
STATA_BIN_PATH/usr/bin/stataPercorso assoluto al binario Stata all’interno del container.

Elasticsearch

VariabileDescrizione
ES_HOSTHost Elasticsearch (es. http://elasticsearch:9200).
ES_PORTPorta Elasticsearch.

Matomo Analytics

VariabileDescrizione
PIWIK_URLURL del server Matomo (Piwik).
PIWIK_IDID sito Matomo.
PIWIK_SECRETToken di autenticazione Matomo.

OpenCPU (Calcolo R)

VariabileDescrizione
OCPU_HOSTURL del server OpenCPU per il calcolo statistico basato su R.

Integrazione RtBox

VariabileDescrizione
RTBOX_HOSTURL host del servizio RtBox.
RTBOX_USER_APIChiave API utente RtBox.
RTBOX_BASIC_AUTHCredenziali di autenticazione di base per RtBox.

Messaggistica Matrix

VariabileDescrizione
MATRIX_HOMESERVER_HOSTHost homeserver Matrix.
MATRIX_HOMESERVER_PORTPorta homeserver Matrix.

Volumi dati

Tutti i dati dell’applicazione sono archiviati in volumi Docker nominati. I volumi vengono creati automaticamente al primo avvio e persistono tra riavvii e aggiornamenti del container.

VolumePunto di mountContenuto
rtcloud_mysql_data/var/lib/mysqlFile del database MySQL
rtcloud_uploads…/uploadsFile caricati dai rispondenti del sondaggio
rtcloud_audios…/audiosRegistrazioni audio
rtcloud_downloads…/downloadsFile di esportazione generati
rtcloud_gallery…/galleryImmagini della galleria
rtcloud_voicemail…/voicemailRegistrazioni di voicemail
rtcloud_analytics…/analyticsDati analitici
rtcloud_aggregate…/aggregateRisultati aggregati del sondaggio
rtcloud_converter…/converterOutput di conversione dati
rtcloud_shiny_data/srv/shiny-server/smartsurveyScript R del server Shiny
rtcloud_shiny_logs/var/log/shiny-serverLog del server Shiny
rtcloud_assets…/assetsAsset web (CSS, JS)
rtcloud_runtime…/protected/runtimeCache di runtime dell’applicazione
rtcloud_cache…/cacheCache dell’applicazione
rtcloud_tmp…/tmpFile temporanei

I nomi dei volumi sono preceduti dal valore di COMPOSE_PROJECT_NAME (predefinito: rtcloud).

Elenca tutti i volumi per il tuo deployment:

  docker volume ls | grep rtcloud
  
Questa pagina è stata utile?