On this page
travel_explore
Google Cloud(GCP)
使用 gcp-compute.sh 啟動腳本在 Google Cloud Compute Engine 上部署 rtCloud。
在建立 Compute Engine VM 實例時,使用 gcp-compute.sh 作為啟動腳本。該腳本在首次啟動時自動執行。
下載腳本: gcp-compute.sh
步驟 1 — 填寫設定
開啟腳本並編輯頂部的 CONFIGURATION 區塊:
# --- Required ---
PROJECT_ID="rtsurvey"
ADMIN_PASSWORD="admin" # Change after first login
# --- Domain + SSL ---
DOMAIN="myapp.example.com"
LETSENCRYPT_EMAIL="admin@example.com"
# --- Embedded Keycloak ---
EMBED_KEYCLOAK="true"
KEYCLOAK_ADMIN_PASSWORD="${ADMIN_PASSWORD}" # Defaults to ADMIN_PASSWORD
| 欄位 | 必填 | 說明 |
|---|---|---|
PROJECT_ID | 是 | 用作資料庫名稱和 Keycloak 客戶端 ID。小寫,無空格。 |
ADMIN_PASSWORD | 否 | 應用程式管理員密碼和 Keycloak 管理員密碼。預設為 admin——首次登入後請更改。 |
DOMAIN | 否 | 用於 HTTPS 的域名。留空以僅使用 HTTP 模式。 |
LETSENCRYPT_EMAIL | 是(如果設定了 DOMAIN) | Let’s Encrypt 通知的電子郵件。 |
EMBED_KEYCLOAK | 否 | true 以部署嵌入式 Keycloak(需要 4 GB RAM)。 |
安全性: 所有密碼預設為
admin。首次登入後請立即更改。
步驟 2 — 建立 VM 實例
- 點選建立實例
- 機器設定:
- 系列:
E2 - 機器類型:
e2-medium(4 GB RAM)或更大
- 系列:
- 開機磁碟:
- 作業系統:Ubuntu
- 版本:Ubuntu 22.04 LTS
- 大小:40 GB 或更多
- 防火牆: 勾選允許 HTTP 流量和允許 HTTPS 流量
- 進階選項 → 管理 → 自動化 → 啟動腳本 → 貼上完整腳本內容
- 點選建立
步驟 3 — 新增 DNS 記錄
VM 啟動時,在您的 DNS 提供商中新增一個 A 記錄:
Type : A
Name : myapp
Value : <vm-external-ip>
TTL : 300
在控制台的 VM 實例清單中找到外部 IP。
步驟 4 — 監控進度
使用 gcloud CLI:
gcloud compute ssh <instance-name> -- tail -f /var/log/rtcloud-setup.log
或直接 SSH:
ssh <username>@<vm-external-ip>
tail -f /var/log/rtcloud-setup.log
步驟 5 — 存取應用程式
設定完成後,日誌顯示包含您的應用程式 URL 和憑證的摘要。使用使用者名稱 admin 和密碼 admin 登入,然後立即更改您的密碼。
防火牆規則
GCP 的允許 HTTP/HTTPS 核取方塊開啟連接埠 80 和 443。若要在連接埠 3838 上也允許直接 Shiny 存取,請新增防火牆規則:
gcloud compute firewall-rules create allow-shiny \
--allow tcp:3838 \
--target-tags http-server
或透過控制台新增:VPC 網路 → 防火牆 → 建立規則。
請勿開啟連接埠 3306(MySQL)——它絕不應公開存取。
靜態 IP(選用)
預設情況下,GCP 分配的臨時外部 IP 在 VM 重啟時會更改。要保持穩定的 IP:
- 前往 VPC 網路 → IP 位址
- 點選保留外部靜態位址
- 將其指派給您的 VM 實例
部署後
更改密碼
nano /opt/rtcloud/.env
docker compose -f /opt/rtcloud/docker-compose.production.yml up -d --force-recreate rtcloud
查看所有容器
docker compose -f /opt/rtcloud/docker-compose.production.yml ps
此頁面有幫助嗎?