Toda a configuração é feita através de variáveis de ambiente no ficheiro .env na raiz do seu diretório de implantação. O Docker Compose lê este ficheiro automaticamente — não é necessário o sinalizador --env-file.

As variáveis marcadas como obrigatórias devem ser definidas antes de iniciar os contentores. Todas as outras têm valores predefinidos e são opcionais.


Projeto

Estas variáveis definem a identidade e o ponto de acesso da sua instância rtCloud.

VariávelPredefiniçãoObrigatóriaDescrição
PROJECT_IDSimIdentificador único para esta implantação. Sem espaços ou caracteres especiais. Usado como prefixo para nomenclatura interna.
PROJECT_URLSimNome de domínio ou endereço IP onde os utilizadores acedem à aplicação (por ex., rtcloud.example.com ou 192.168.1.100).
PROJECT_TYPErtsurveyNãoVariante de plataforma a ativar. Opções: rtwork, rtsurvey, rthome.
PROJECT_PORT80NãoPorta em que a aplicação escuta dentro do contentor. Não altere a menos que saiba o que está a fazer.
HTTP_PROTOCOLhttpsNãoProtocolo usado para construir URLs internos. Defina como http se não estiver a usar SSL.

Base de Dados

Credenciais de ligação MySQL. A base de dados é gerida automaticamente pelo contentor MySQL — só precisa de definir palavras-passe fortes.

VariávelPredefiniçãoObrigatóriaDescrição
MYSQL_DATABASEsmartsurveyNãoNome da base de dados da aplicação.
MYSQL_USERsmartsurveyNãoUtilizador MySQL para a aplicação.
MYSQL_PASSWORDSimPalavra-passe para MYSQL_USER. Use um valor forte e único.
MYSQL_ROOT_PASSWORDSimPalavra-passe root do MySQL. Necessária para inicialização da base de dados e operações de administração.
MYSQL_HOSTmysqlNãoNome do host MySQL. Use o valor predefinido a menos que esteja a ligar a uma base de dados externa.
MYSQL_PORT3306NãoPorta MySQL.

Conta de Administrador

A conta de administrador é criada automaticamente na primeira inicialização de uma base de dados nova.

VariávelPredefiniçãoObrigatóriaDescrição
ADMIN_PASSWORDadminSimPalavra-passe para o utilizador admin incorporado. Defina isto antes da primeira inicialização. Não tem efeito se a base de dados já existir.

Após o primeiro início de sessão, altere a palavra-passe do administrador na página Configurações de Conta na UI web.


Portas

Controle quais portas do host a aplicação vincula.

VariávelPredefiniçãoDescrição
APP_PORT8080Porta do host para a UI web principal. Altere isto se a porta 8080 já estiver em uso no seu servidor.
SHINY_PORT3838Porta do host para o servidor de análise Shiny.

Runtime

VariávelPredefiniçãoDescrição
RUN_ENVprodAmbiente de runtime. Use prod para implantações de produção, dev para desenvolvimento local.
RUN_MODEadminFunção do contentor. admin executa a pilha completa (web + fila + cron). worker executa apenas processamento em segundo plano (para escalamento horizontal).
TZAsia/Ho_Chi_MinhFuso horário do servidor. Afeta timestamps de log, agendamentos cron e exibição de datas. Use um nome de fuso horário TZ (por ex., UTC, America/New_York, Europe/London).
LOG_LEVELinfoVerbosidade do log da aplicação. Opções: debug, info, warning, error.
COMPOSE_PROJECT_NAMErtcloudPrefixo aplicado a todos os nomes de contentores e volumes Docker. Altere isto ao executar múltiplas instâncias rtCloud no mesmo host.
RESTART_POLICYunless-stoppedComportamento de reinício do contentor Docker. Opções: no, always, on-failure, unless-stopped.
RTCLOUD_IMAGErtawebteam/rta-smartsurvey:survey-dockerizeImagem Docker a usar. Altere a tag para fixar uma versão específica.
REQUIRE_LICENSEfalseAtivar validação de chave de licença na inicialização. Contacte a RTA para informações de licença.

Segurança

VariávelPredefiniçãoDescrição
CSRF_VALIDATION_ENABLEDtrueAtivar validação de token CSRF. Mantenha isto true em produção. Defina como false apenas em desenvolvimento local se encontrar erros 400 CSRF token could not be verified.
GII_ENABLEDfalseAtivar a ferramenta geradora de código do framework Yii. Nunca ative em produção.

SSO — Keycloak Incorporado

Ative o contentor Keycloak incorporado para SSO empresarial completo. Requer um domínio com HTTPS.

VariávelPredefiniçãoDescrição
EMBED_KEYCLOAKfalseDefina como true para iniciar o contentor Keycloak incorporado. Ativa o perfil Docker Compose embed-keycloak.
KEYCLOAK_URLURL completo do servidor Keycloak (por ex., https://rtcloud.example.com/auth).
KEYCLOAK_REALMNome do realm Keycloak (por ex., rtsurvey).
KEYCLOAK_CLIENT_IDID de cliente Keycloak para a aplicação rtCloud.
KEYCLOAK_CLIENT_SECRETSegredo de cliente Keycloak. Gere isto a partir da consola de administração Keycloak.
KEYCLOAK_ADMIN_USERadminNome de utilizador administrador do Keycloak.
KEYCLOAK_ADMIN_PASSWORDPalavra-passe do administrador Keycloak.
KEYCLOAK_DBkeycloakNome da base de dados para o Keycloak. Criado automaticamente na primeira inicialização.
KEYCLOAK_DB_USERkeycloakUtilizador da base de dados para o Keycloak.
KEYCLOAK_DB_PASSWORDPalavra-passe da base de dados para o utilizador Keycloak.
KC_HOSTNAMEURL frontend do Keycloak (por ex., https://rtcloud.example.com/auth).
KC_HOSTNAME_STRICTfalseImpor correspondência estrita de nome de host. Defina como true em produção com um domínio fixo.

Consulte Autenticação SSO para o guia de configuração completo.


SSO — Fornecedor OIDC Externo

Ligue a um fornecedor de identidade compatível com OIDC existente (Supabase, Auth0, Authentik, Okta, etc.).

VariávelPredefiniçãoDescrição
OIDC_ISSUER_URLURL de descoberta do emissor OIDC (por ex., https://accounts.google.com).
OIDC_CLIENT_IDID de cliente registado no seu fornecedor de identidade.
OIDC_CLIENT_SECRETSegredo de cliente do seu fornecedor de identidade.
OIDC_SCOPEopenid profile emailLista separada por espaços de scopes OIDC a solicitar.
OIDC_REDIRECT_URIURL de callback para a aplicação web (por ex., https://rtcloud.example.com/auth/callback).
OIDC_MOBILE_CLIENT_IDID de cliente separado para a aplicação móvel rtSurvey.
OIDC_MOBILE_REDIRECT_URIURI de callback para a aplicação móvel (por ex., vn.rta.rtsurvey.auth://callback).
OPEN_REGISTRATIONfalseCriar automaticamente contas rtCloud para utilizadores que se autentiquem via OIDC pela primeira vez.
OIDC_AUTHORIZATION_ENDPOINTSubstituir o URL do endpoint de autorização (deixe em branco para usar descoberta).
OIDC_TOKEN_ENDPOINTSubstituir o URL do endpoint de token (deixe em branco para usar descoberta).
OIDC_USERINFO_ENDPOINTSubstituir o URL do endpoint de informação do utilizador (deixe em branco para usar descoberta).

SSO — Azure Active Directory

VariávelDescrição
AZURE_CLIENT_IDID da aplicação Azure AD (cliente).
AZURE_TENANT_IDID do diretório Azure AD (inquilino).

Integrações Opcionais

Stata

VariávelPredefiniçãoDescrição
STATA_ENABLEDfalseAtivar integração do software estatístico Stata para análise de dados.
STATA_BIN_PATH/usr/bin/stataCaminho absoluto para o binário Stata dentro do contentor.

Elasticsearch

VariávelDescrição
ES_HOSTHost Elasticsearch (por ex., http://elasticsearch:9200).
ES_PORTPorta Elasticsearch.

Matomo Analytics

VariávelDescrição
PIWIK_URLURL do servidor Matomo (Piwik).
PIWIK_IDID do site Matomo.
PIWIK_SECRETToken de autenticação Matomo.

OpenCPU (Computação R)

VariávelDescrição
OCPU_HOSTURL do servidor OpenCPU para computação estatística baseada em R.

Integração RtBox

VariávelDescrição
RTBOX_HOSTURL do host do serviço RtBox.
RTBOX_USER_APIChave API de utilizador RtBox.
RTBOX_BASIC_AUTHCredenciais de autenticação básica para RtBox.

Mensagens Matrix

VariávelDescrição
MATRIX_HOMESERVER_HOSTHost do servidor Matrix.
MATRIX_HOMESERVER_PORTPorta do servidor Matrix.

Volumes de Dados

Todos os dados da aplicação são armazenados em volumes Docker nomeados. Os volumes são criados automaticamente na primeira inicialização e persistem entre reinícios e atualizações de contentores.

VolumePonto de MontagemConteúdo
rtcloud_mysql_data/var/lib/mysqlFicheiros da base de dados MySQL
rtcloud_uploads…/uploadsFicheiros carregados pelos respondentes do inquérito
rtcloud_audios…/audiosGravações de áudio
rtcloud_downloads…/downloadsFicheiros de exportação gerados
rtcloud_gallery…/galleryImagens de galeria
rtcloud_voicemail…/voicemailGravações de correio de voz
rtcloud_analytics…/analyticsDados de análise
rtcloud_aggregate…/aggregateResultados agregados do inquérito
rtcloud_converter…/converterSaídas de conversão de dados
rtcloud_shiny_data/srv/shiny-server/smartsurveyScripts R do servidor Shiny
rtcloud_shiny_logs/var/log/shiny-serverLogs do servidor Shiny
rtcloud_assets…/assetsAtivos web (CSS, JS)
rtcloud_runtime…/protected/runtimeCache de runtime da aplicação
rtcloud_cache…/cacheCache da aplicação
rtcloud_tmp…/tmpFicheiros temporários

Os nomes dos volumes têm como prefixo o valor de COMPOSE_PROJECT_NAME (predefinição: rtcloud).

Liste todos os volumes para a sua implantação:

  docker volume ls | grep rtcloud
  
Esta página foi útil?