Esta guía le lleva paso a paso por el proceso de implementación de una instancia de rtCloud autoalojada en un servidor Linux desde cero. Al final, tendrá rtCloud funcionando y accesible desde su navegador.

Requisitos previos

Asegúrese de que su servidor cumpla con los siguientes requisitos antes de comenzar:

Hardware

RecursoMínimoRecomendado
RAM2 GB4 GB
Disco10 GB40 GB
CPU1 vCPU2 vCPUs

Software

SoftwareVersión
SOUbuntu 20.04 LTS o más reciente (o cualquier Linux con soporte Docker)
Docker20.10 o más reciente
Docker Composev2.x (docker compose) o v1.x (docker-compose)

Instalar Docker en Ubuntu:

  curl -fsSL https://get.docker.com | sh
  

Verifique la instalación:

  docker --version
docker compose version
  

Paso 1 — Obtenga los archivos

Clone el repositorio de implementación en su servidor:

  git clone ssh://git@rtgit.rta.vn:2224/rtlab/rtwebteam/rta-smart-survey-docker.git rtcloud
cd rtcloud
  

Paso 2 — Configure el entorno

Copie el archivo de configuración de muestra:

  cp .env.production.sample .env
  

Abra .env en un editor de texto y complete los valores requeridos:

  # Identificador único para esta implementación (sin espacios, sin caracteres especiales)
PROJECT_ID=myproject

# Dominio o dirección IP donde los usuarios accederán a la aplicación
# Ejemplo: rtcloud.example.com  o  192.168.1.100
PROJECT_URL=rtcloud.example.com

# Protocolo: use "https" si tiene un dominio con SSL, "http" en caso contrario
HTTP_PROTOCOL=https

# Contraseñas seguras y únicas — cambie las tres antes de iniciar
MYSQL_PASSWORD=change_me_strong_password
MYSQL_ROOT_PASSWORD=change_me_root_password
ADMIN_PASSWORD=change_me_admin_password
  

Importante: Solo .env es leído automáticamente por Docker Compose. No cree un archivo llamado .env.production, ya que eso causaría confusión. La ADMIN_PASSWORD se aplica solo en el primer arranque de una base de datos nueva.


Paso 3 — Inicie los contenedores

Inicie todos los servicios en segundo plano:

  docker compose -f docker-compose.production.yml up -d
  

El primer arranque tarda 3–5 minutos mientras Docker:

  1. Descarga la imagen de la aplicación rtCloud (~1 GB de descarga)
  2. Inicializa la base de datos MySQL
  3. Carga el esquema base
  4. Ejecuta todas las migraciones de base de datos pendientes

Monitoree el progreso del arranque en tiempo real:

  docker compose -f docker-compose.production.yml logs -f rtcloud
  

Espere hasta que vea un resultado que indique que la aplicación está lista. También puede observar el estado de salud del contenedor:

  watch docker compose -f docker-compose.production.yml ps
  

Paso 4 — Acceda a la aplicación

Una vez que ambos contenedores muestren Up (healthy), abra su navegador:

  http://<PROJECT_URL>:8080
  

Inicie sesión usando la cuenta de administrador:

CampoValor
Usuarioadmin
ContraseñaEl valor que estableció para ADMIN_PASSWORD en .env

Cambie la contraseña del administrador inmediatamente después de su primer inicio de sesión desde la página de configuración de la cuenta.


Paso 5 — Verifique todos los servicios

Compruebe que todos los contenedores estén en ejecución y en buen estado:

  docker compose -f docker-compose.production.yml ps
  

Resultado esperado:

  NAME                    IMAGE                                   STATUS
rtcloud-app             rtawebteam/rta-smartsurvey:...          Up (healthy)
rtcloud-mysql           mysql:8.0                               Up (healthy)
  

Si un contenedor muestra Up (starting) o Up (unhealthy), espere 30–60 segundos más y vuelva a verificar. MySQL puede tardar hasta un minuto en inicializarse completamente en el primer arranque.


Referencia de puertos

PuertoServicioDescripción
8080Aplicación rtCloudInterfaz web principal (configurable via APP_PORT)
3838Servidor ShinyAnálisis y visualizaciones basadas en R (configurable via SHINY_PORT)

MySQL (puerto 3306) y cualquier servicio opcional (Keycloak) son internos únicamente y no quedan expuestos al host de forma predeterminada.


Próximos pasos

Su instancia de rtCloud está ahora en funcionamiento. Considere estas tareas de seguimiento:

  • Habilite HTTPS — Apunte un dominio a su servidor y configure SSL con Let’s Encrypt. Consulte Implementación en la nube para la configuración HTTPS automatizada.
  • Revise toda la configuración — Explore la Referencia de configuración para ajustar su implementación para producción.
  • Configure SSO — Conecte un proveedor de identidad para autenticación centralizada de usuarios. Consulte Autenticación SSO.
  • Planifique sus copias de seguridad — Revise la página de Mantenimiento para los procedimientos de copia de seguridad y actualización.
¿Fue útil esta página?