Toda la configuración se realiza a través de variables de entorno en el archivo .env en la raíz de su directorio de implementación. Docker Compose lee este archivo automáticamente — no se necesita el indicador --env-file.

Las variables marcadas como requeridas deben establecerse antes de iniciar los contenedores. Todas las demás tienen valores predeterminados y son opcionales.


Proyecto

Estas variables definen la identidad y el punto de acceso de su instancia de rtCloud.

VariablePredeterminadoRequeridoDescripción
PROJECT_IDIdentificador único para esta implementación. Sin espacios ni caracteres especiales. Se usa como prefijo para la nomenclatura interna.
PROJECT_URLNombre de dominio o dirección IP donde los usuarios acceden a la aplicación (p. ej., rtcloud.example.com o 192.168.1.100).
PROJECT_TYPErtsurveyNoVariante de plataforma a activar. Opciones: rtwork, rtsurvey, rthome.
PROJECT_PORT80NoPuerto en el que escucha la aplicación dentro del contenedor. No cambie esto a menos que sepa lo que está haciendo.
HTTP_PROTOCOLhttpsNoProtocolo utilizado para construir URL internas. Establezca en http si no usa SSL.

Base de datos

Credenciales de conexión MySQL. La base de datos es gestionada automáticamente por el contenedor MySQL — solo necesita establecer contraseñas seguras.

VariablePredeterminadoRequeridoDescripción
MYSQL_DATABASEsmartsurveyNoNombre de la base de datos de la aplicación.
MYSQL_USERsmartsurveyNoUsuario MySQL para la aplicación.
MYSQL_PASSWORDContraseña para MYSQL_USER. Use un valor seguro y único.
MYSQL_ROOT_PASSWORDContraseña raíz de MySQL. Requerida para la inicialización de la base de datos y las operaciones de administración.
MYSQL_HOSTmysqlNoNombre de host de MySQL. Use el predeterminado a menos que se conecte a una base de datos externa.
MYSQL_PORT3306NoPuerto de MySQL.

Cuenta de administrador

La cuenta de administrador se crea automáticamente en el primer arranque de una base de datos nueva.

VariablePredeterminadoRequeridoDescripción
ADMIN_PASSWORDadminContraseña para el usuario admin integrado. Establezca esto antes del primer arranque. No tiene efecto si la base de datos ya existe.

Después del primer inicio de sesión, cambie la contraseña del administrador desde la página de Configuración de cuenta en la interfaz web.


Puertos

Controle a qué puertos del host se vincula la aplicación.

VariablePredeterminadoDescripción
APP_PORT8080Puerto del host para la interfaz web principal. Cámbielo si el puerto 8080 ya está en uso en su servidor.
SHINY_PORT3838Puerto del host para el servidor de análisis Shiny.

Tiempo de ejecución

VariablePredeterminadoDescripción
RUN_ENVprodEntorno de ejecución. Use prod para implementaciones en producción, dev para desarrollo local.
RUN_MODEadminRol del contenedor. admin ejecuta la pila completa (web + cola + cron). worker ejecuta solo el procesamiento en segundo plano (para escalado horizontal).
TZAsia/Ho_Chi_MinhZona horaria del servidor. Afecta marcas de tiempo en registros, programaciones de cron y visualización de fechas. Use un nombre de zona horaria de la base de datos TZ (p. ej., UTC, America/New_York, Europe/London).
LOG_LEVELinfoVerbosidad del registro de la aplicación. Opciones: debug, info, warning, error.
COMPOSE_PROJECT_NAMErtcloudPrefijo aplicado a todos los nombres de contenedores y volúmenes de Docker. Cámbielo cuando ejecute múltiples instancias de rtCloud en el mismo host.
RESTART_POLICYunless-stoppedComportamiento de reinicio del contenedor Docker. Opciones: no, always, on-failure, unless-stopped.
RTCLOUD_IMAGErtawebteam/rta-smartsurvey:survey-dockerizeImagen Docker a usar. Cambie la etiqueta para fijar una versión específica.
REQUIRE_LICENSEfalseHabilitar la validación de clave de licencia al inicio. Contacte a RTA para obtener información sobre licencias.

Seguridad

VariablePredeterminadoDescripción
CSRF_VALIDATION_ENABLEDtrueHabilitar la validación de tokens CSRF. Mantenga esto en true en producción. Establezca en false solo en desarrollo local si encuentra errores 400 CSRF token could not be verified.
GII_ENABLEDfalseHabilitar la herramienta generadora de código del framework Yii. Nunca habilite en producción.

SSO — Keycloak integrado

Habilite el contenedor Keycloak integrado para SSO empresarial con todas las funciones. Requiere un dominio con HTTPS.

VariablePredeterminadoDescripción
EMBED_KEYCLOAKfalseEstablezca en true para iniciar el contenedor Keycloak integrado. Activa el perfil embed-keycloak de Docker Compose.
KEYCLOAK_URLURL completa del servidor Keycloak (p. ej., https://rtcloud.example.com/auth).
KEYCLOAK_REALMNombre del realm de Keycloak (p. ej., rtsurvey).
KEYCLOAK_CLIENT_IDID de cliente de Keycloak para la aplicación rtCloud.
KEYCLOAK_CLIENT_SECRETSecreto de cliente de Keycloak. Genérelo desde la consola de administración de Keycloak.
KEYCLOAK_ADMIN_USERadminNombre de usuario del administrador de Keycloak.
KEYCLOAK_ADMIN_PASSWORDContraseña del administrador de Keycloak.
KEYCLOAK_DBkeycloakNombre de la base de datos para Keycloak. Se crea automáticamente en el primer arranque.
KEYCLOAK_DB_USERkeycloakUsuario de la base de datos para Keycloak.
KEYCLOAK_DB_PASSWORDContraseña de la base de datos para el usuario de Keycloak.
KC_HOSTNAMEURL de front-end de Keycloak (p. ej., https://rtcloud.example.com/auth).
KC_HOSTNAME_STRICTfalseAplicar coincidencia estricta de nombres de host. Establezca en true en producción con un dominio fijo.

Consulte Autenticación SSO para la guía de configuración completa.


SSO — Proveedor OIDC externo

Conéctese a un proveedor de identidad compatible con OIDC existente (Supabase, Auth0, Authentik, Okta, etc.).

VariablePredeterminadoDescripción
OIDC_ISSUER_URLURL de descubrimiento del emisor OIDC (p. ej., https://accounts.google.com).
OIDC_CLIENT_IDID de cliente registrado en su proveedor de identidad.
OIDC_CLIENT_SECRETSecreto de cliente de su proveedor de identidad.
OIDC_SCOPEopenid profile emailLista de ámbitos OIDC separados por espacios a solicitar.
OIDC_REDIRECT_URIURL de devolución de llamada para la aplicación web (p. ej., https://rtcloud.example.com/auth/callback).
OIDC_MOBILE_CLIENT_IDID de cliente separado para la aplicación móvil rtSurvey.
OIDC_MOBILE_REDIRECT_URIURI de devolución de llamada de la aplicación móvil (p. ej., vn.rta.rtsurvey.auth://callback).
OPEN_REGISTRATIONfalseCrear automáticamente cuentas de rtCloud para usuarios que se autentican via OIDC por primera vez.
OIDC_AUTHORIZATION_ENDPOINTAnular la URL del punto de autorización (dejar en blanco para usar el descubrimiento).
OIDC_TOKEN_ENDPOINTAnular la URL del punto de token (dejar en blanco para usar el descubrimiento).
OIDC_USERINFO_ENDPOINTAnular la URL del punto de información del usuario (dejar en blanco para usar el descubrimiento).

SSO — Azure Active Directory

VariableDescripción
AZURE_CLIENT_IDID de aplicación (cliente) de Azure AD.
AZURE_TENANT_IDID de directorio (inquilino) de Azure AD.

Integraciones opcionales

Stata

VariablePredeterminadoDescripción
STATA_ENABLEDfalseHabilitar la integración del software estadístico Stata para el análisis de datos.
STATA_BIN_PATH/usr/bin/stataRuta absoluta al binario de Stata dentro del contenedor.

Elasticsearch

VariableDescripción
ES_HOSTHost de Elasticsearch (p. ej., http://elasticsearch:9200).
ES_PORTPuerto de Elasticsearch.

Análisis Matomo

VariableDescripción
PIWIK_URLURL del servidor Matomo (Piwik).
PIWIK_IDID del sitio de Matomo.
PIWIK_SECRETToken de autenticación de Matomo.

OpenCPU (Cálculo R)

VariableDescripción
OCPU_HOSTURL del servidor OpenCPU para cálculo estadístico basado en R.

Integración RtBox

VariableDescripción
RTBOX_HOSTURL del host del servicio RtBox.
RTBOX_USER_APIClave API de usuario de RtBox.
RTBOX_BASIC_AUTHCredenciales de autenticación básica para RtBox.

Mensajería Matrix

VariableDescripción
MATRIX_HOMESERVER_HOSTHost del servidor Matrix.
MATRIX_HOMESERVER_PORTPuerto del servidor Matrix.

Volúmenes de datos

Todos los datos de la aplicación se almacenan en volúmenes Docker nombrados. Los volúmenes se crean automáticamente en el primer arranque y persisten a través de reinicios y actualizaciones de contenedores.

VolumenPunto de montajeContenido
rtcloud_mysql_data/var/lib/mysqlArchivos de la base de datos MySQL
rtcloud_uploads…/uploadsArchivos cargados por los encuestados
rtcloud_audios…/audiosGrabaciones de audio
rtcloud_downloads…/downloadsArchivos de exportación generados
rtcloud_gallery…/galleryImágenes de la galería
rtcloud_voicemail…/voicemailGrabaciones de correo de voz
rtcloud_analytics…/analyticsDatos de análisis
rtcloud_aggregate…/aggregateResultados agregados de encuestas
rtcloud_converter…/converterSalidas de conversión de datos
rtcloud_shiny_data/srv/shiny-server/smartsurveyScripts R del servidor Shiny
rtcloud_shiny_logs/var/log/shiny-serverRegistros del servidor Shiny
rtcloud_assets…/assetsActivos web (CSS, JS)
rtcloud_runtime…/protected/runtimeCaché de tiempo de ejecución de la aplicación
rtcloud_cache…/cacheCaché de la aplicación
rtcloud_tmp…/tmpArchivos temporales

Los nombres de los volúmenes tienen el prefijo del valor de COMPOSE_PROJECT_NAME (predeterminado: rtcloud).

Liste todos los volúmenes de su implementación:

  docker volume ls | grep rtcloud
  
¿Fue útil esta página?