Google Cloud (GCP)
Implemente rtCloud en Google Cloud Compute Engine usando el script de inicio gcp-compute.sh.
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
| Campo | Requerido | Descripción |
|---|---|---|
PROJECT_ID | Sí | Se usa como nombre de base de datos e ID de cliente de Keycloak. Minúsculas, sin espacios. |
ADMIN_PASSWORD | No | Contraseña del administrador de la aplicación y de Keycloak. Predeterminado en admin — cámbiela después del primer inicio de sesión. |
DOMAIN | No | Su dominio para HTTPS. Deje en blanco para el modo solo HTTP. |
LETSENCRYPT_EMAIL | Sí (si DOMAIN está establecido) | Correo electrónico para notificaciones de Let’s Encrypt. |
EMBED_KEYCLOAK | No | true para implementar Keycloak integrado (requiere 4 GB de RAM). |
Seguridad: Todas las contraseñas tienen
admincomo 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:
- Haga clic en Crear instancia
- Configuración de la máquina:
- Serie:
E2 - Tipo de máquina:
e2-medium(4 GB de RAM) o superior
- Serie:
- Disco de arranque:
- Sistema operativo: Ubuntu
- Versión: Ubuntu 22.04 LTS
- Tamaño: 40 GB o más
- Firewall: marque Permitir tráfico HTTP y Permitir tráfico HTTPS
- Opciones avanzadas → Gestión → Automatización → Script de inicio → pegue el contenido completo del script
- 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 VPC → Firewall → Crear 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:
- Vaya a Red de VPC → Direcciones IP
- Haga clic en Reservar dirección estática externa
- 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