On this page
water_drop
DigitalOcean
使用自动化用户数据脚本在 DigitalOcean Droplet 上部署 rtCloud。
DigitalOcean 使用用户数据脚本,在首次启动时自动运行。您在脚本顶部填写配置变量,然后在创建 Droplet 时粘贴整个脚本。
与 Linode StackScript 不同,DigitalOcean 没有表单界面——您必须在粘贴前直接编辑脚本。
下载脚本: digitalocean-droplet-keycloak-embed.sh
内嵌 Keycloak(推荐)
使用 digitalocean-droplet-keycloak-embed.sh 进行最简单的内置 SSO 设置。
第一步 — 填写配置
打开脚本并编辑顶部的 CONFIGURATION 块:
# --- 必填 ---
PROJECT_ID="rtsurvey" # 项目唯一标识符(无空格)
ADMIN_PASSWORD="admin" # 应用管理员和 Keycloak 密码——首次登录后更改
# --- 域名 + SSL ---
DOMAIN="myapp.example.com" # 您的域名——DNS A 记录必须指向此处
PROJECT_URL="" # 除非在 Cloudflare/代理后面,否则留空
LETSENCRYPT_EMAIL="admin@example.com" # Let's Encrypt 通知邮箱
# --- 可选 ---
STATA_ENABLED="false"
TZ="Asia/Ho_Chi_Minh"
| 字段 | 必填 | 描述 |
|---|---|---|
PROJECT_ID | 是 | 用作数据库名称和 Keycloak 客户端 ID。小写,无空格。 |
ADMIN_PASSWORD | 否 | 应用管理员登录和 Keycloak 管理控制台的密码。默认为 admin——首次登录后更改。 |
DOMAIN | 是 | 您的域名。DNS A 记录必须指向 Droplet IP。 |
LETSENCRYPT_EMAIL | 是 | Let’s Encrypt 证书通知的邮箱地址。 |
PROJECT_URL | 否 | 覆盖公共 URL。留空以使用 DOMAIN。在 Cloudflare 后面时很有用。 |
安全提示: 所有密码默认为
admin。首次登录后立即更改它们。
第二步 — 创建 Droplet
- 点击创建 → Droplets
- 选择 Ubuntu 22.04 LTS 作为镜像
- 选择 Basic,4 GB RAM / 2 vCPU 或更大
- 向下滚动到高级选项 → 勾选添加初始化脚本
- 将完整脚本内容粘贴到文本框中
- 点击创建 Droplet
第三步 — 添加 DNS 记录
Droplet 启动时,在您的 DNS 提供商中添加 A 记录:
类型 : A
名称 : myapp (或根域名的 @)
值 : <droplet-ip>
TTL : 300
第四步 — 监控进度
SSH 到 Droplet 并查看日志:
ssh root@<droplet-ip>
tail -f /var/log/rtcloud-setup.log
脚本在开始时会打印您的服务器 IP——看到后立即添加 DNS 记录。
第五步 — 访问应用
设置完成时,日志会显示摘要:
============================================================
rtCloud deployment complete! (Embedded Keycloak)
============================================================
App URL : https://myapp.example.com
Admin : admin / admin
Keycloak : https://myapp.example.com/auth/admin
!! SECURITY: All passwords default to 'admin'.
Change them immediately after first login.
============================================================
在浏览器中打开 https://myapp.example.com,使用用户名 admin 和密码 admin 登录。
登录后,立即通过右上角菜单中的设置更改密码。
部署后操作
更改密码
SSH 到 Droplet,编辑 .env,然后重启受影响的容器:
nano /opt/rtcloud/.env
docker compose -f /opt/rtcloud/docker-compose.production.yml up -d --force-recreate rtcloud
更新域名
如果在部署后分配了不同的域名,请在 .env 中更新 PROJECT_URL:
nano /opt/rtcloud/.env # 更新 PROJECT_URL=
docker compose -f /opt/rtcloud/docker-compose.production.yml up -d --force-recreate rtcloud
查看所有容器
docker compose -f /opt/rtcloud/docker-compose.production.yml ps
此页面有帮助吗?