Use gcp-compute.sh como Script de inicio al crear una instancia de VM de Compute Engine. El script se ejecuta automáticamente en el primer arranque.

Descargar script: gcp-compute.sh


Paso 1 — Complete la configuración

Abra el script y edite el bloque CONFIGURATION en la parte superior:

  # --- Required ---
PROJECT_ID="rtsurvey"
ADMIN_PASSWORD="admin"                       # Cámbiela después del primer inicio de sesión

# --- Domain + SSL ---
DOMAIN="myapp.example.com"
LETSENCRYPT_EMAIL="admin@example.com"

# --- Embedded Keycloak ---
EMBED_KEYCLOAK="true"
KEYCLOAK_ADMIN_PASSWORD="${ADMIN_PASSWORD}"  # Predeterminado a ADMIN_PASSWORD
  
CampoRequeridoDescripción
PROJECT_IDSe usa como nombre de base de datos e ID de cliente de Keycloak. Minúsculas, sin espacios.
ADMIN_PASSWORDNoContraseña del administrador de la aplicación y de Keycloak. Predeterminado en admincámbiela después del primer inicio de sesión.
DOMAINNoSu dominio para HTTPS. Deje en blanco para el modo solo HTTP.
LETSENCRYPT_EMAILSí (si DOMAIN está establecido)Correo electrónico para notificaciones de Let’s Encrypt.
EMBED_KEYCLOAKNotrue para implementar Keycloak integrado (requiere 4 GB de RAM).

Seguridad: Todas las contraseñas tienen admin como valor predeterminado. Cámbielas inmediatamente después de su primer inicio de sesión.


Paso 2 — Cree una instancia de VM

En la Consola de Google Cloud:

  1. Haga clic en Crear instancia
  2. Configuración de la máquina:
    • Serie: E2
    • Tipo de máquina: e2-medium (4 GB de RAM) o superior
  3. Disco de arranque:
    • Sistema operativo: Ubuntu
    • Versión: Ubuntu 22.04 LTS
    • Tamaño: 40 GB o más
  4. Firewall: marque Permitir tráfico HTTP y Permitir tráfico HTTPS
  5. Opciones avanzadasGestiónAutomatizaciónScript de inicio → pegue el contenido completo del script
  6. Haga clic en Crear

Paso 3 — Agregue el registro DNS

Mientras la VM se inicia, agregue un registro A en su proveedor de DNS:

  Type  : A
Name  : myapp
Value : <vm-external-ip>
TTL   : 300
  

Encuentre la IP externa en la lista de instancias de VM en la consola.


Paso 4 — Monitoree el progreso

Usando la CLI gcloud:

  gcloud compute ssh <instance-name> -- tail -f /var/log/rtcloud-setup.log
  

O conéctese directamente por SSH:

  ssh <username>@<vm-external-ip>
tail -f /var/log/rtcloud-setup.log
  

Paso 5 — Acceda a la aplicación

Cuando se complete la configuración, el registro muestra un resumen con la URL de su aplicación y las credenciales. Inicie sesión con el usuario admin y contraseña admin, luego cambie su contraseña inmediatamente.


Reglas de firewall

Las casillas de verificación Permitir HTTP/HTTPS de GCP abren los puertos 80 y 443. Para permitir también el acceso directo a Shiny en el puerto 3838, agregue una regla de firewall:

  gcloud compute firewall-rules create allow-shiny \
  --allow tcp:3838 \
  --target-tags http-server
  

O agréguela a través de la consola: Red de VPCFirewallCrear regla.

No abra el puerto 3306 (MySQL) — nunca debería ser accesible públicamente.


IP estática (opcional)

De forma predeterminada, GCP asigna una IP externa efímera que cambia al reiniciar la VM. Para mantener una IP estable:

  1. Vaya a Red de VPCDirecciones IP
  2. Haga clic en Reservar dirección estática externa
  3. Asígnela a su instancia de VM

Después de la implementación

Cambiar una contraseña

  nano /opt/rtcloud/.env
docker compose -f /opt/rtcloud/docker-compose.production.yml up -d --force-recreate rtcloud
  

Ver todos los contenedores

  docker compose -f /opt/rtcloud/docker-compose.production.yml ps
  
¿Fue útil esta página?