Use gcp-compute.sh como script de arranque ao criar uma instância VM do Compute Engine. O script é executado automaticamente na primeira inicialização.

Descarregar script: gcp-compute.sh


Passo 1 — Preencher a configuração

Abra o script e edite o bloco CONFIGURAÇÃO no topo:

  # --- Obrigatório ---
PROJECT_ID="rtsurvey"
ADMIN_PASSWORD="admin"                       # Altere após o primeiro início de sessão

# --- Domínio + SSL ---
DOMAIN="myapp.example.com"
LETSENCRYPT_EMAIL="admin@example.com"

# --- Keycloak Incorporado ---
EMBED_KEYCLOAK="true"
KEYCLOAK_ADMIN_PASSWORD="${ADMIN_PASSWORD}"  # Predefinição para ADMIN_PASSWORD
  
CampoObrigatórioDescrição
PROJECT_IDSimUsado como nome de base de dados e ID de cliente Keycloak. Minúsculas, sem espaços.
ADMIN_PASSWORDNãoPalavra-passe de admin da aplicação e palavra-passe de admin Keycloak. Predefinição adminaltere após o primeiro início de sessão.
DOMAINNãoO seu domínio para HTTPS. Deixe em branco para modo apenas HTTP.
LETSENCRYPT_EMAILSim (se DOMAIN definido)Email para notificações da Let’s Encrypt.
EMBED_KEYCLOAKNãotrue para implantar Keycloak incorporado (requer 4 GB RAM).

Segurança: Todas as palavras-passe têm como predefinição admin. Altere-as imediatamente após o seu primeiro início de sessão.


Passo 2 — Criar uma instância VM

Na Google Cloud Console:

  1. Clique em Criar instância
  2. Configuração da máquina:
    • Série: E2
    • Tipo de máquina: e2-medium (4 GB RAM) ou maior
  3. Disco de arranque:
    • Sistema operativo: Ubuntu
    • Versão: Ubuntu 22.04 LTS
    • Tamanho: 40 GB ou mais
  4. Firewall: marque Permitir tráfego HTTP e Permitir tráfego HTTPS
  5. Opções avançadasGestãoAutomatizaçãoScript de arranque → cole o conteúdo completo do script
  6. Clique em Criar

Passo 3 — Adicionar o registo DNS

Enquanto a VM inicia, adicione um registo A no seu fornecedor DNS:

  Tipo  : A
Nome  : myapp
Valor : <vm-external-ip>
TTL   : 300
  

Encontre o IP externo na lista de instâncias VM na consola.


Passo 4 — Monitorizar o progresso

Usando a CLI gcloud:

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

Ou aceda via SSH diretamente:

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

Passo 5 — Aceder à aplicação

Quando a configuração estiver concluída, o log mostra um resumo com o URL da sua aplicação e as credenciais. Inicie sessão com o nome de utilizador admin e a palavra-passe admin, depois altere a sua palavra-passe imediatamente.


Regras de Firewall

As caixas de verificação Permitir HTTP/HTTPS do GCP abrem as portas 80 e 443. Para também permitir acesso direto ao Shiny na porta 3838, adicione uma regra de firewall:

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

Ou adicione-a através da consola: Rede VPCFirewallCriar regra.

Não abra a porta 3306 (MySQL) — nunca deve ser publicamente acessível.


IP Estático (opcional)

Por predefinição, o GCP atribui um IP externo efémero que muda no reinício da VM. Para manter um IP estável:

  1. Vá a Rede VPCEndereços IP
  2. Clique em Reservar endereço estático externo
  3. Atribua-o à sua instância VM

Após a Implantação

Alterar uma palavra-passe

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

Ver todos os contentores

  docker compose -f /opt/rtcloud/docker-compose.production.yml ps
  
Esta página foi útil?