本指南将带您从零开始在 Linux 服务器上部署自托管 rtCloud 实例。完成后,您将拥有一个可在浏览器中访问的运行中的 rtCloud。

前提条件

开始前,请确保您的服务器满足以下要求:

硬件

资源最低配置推荐配置
RAM2 GB4 GB
磁盘10 GB40 GB
CPU1 vCPU2 vCPU

软件

软件版本
操作系统Ubuntu 20.04 LTS 或更新版本(或任何支持 Docker 的 Linux)
Docker20.10 或更新版本
Docker Composev2.x(docker compose)或 v1.x(docker-compose

在 Ubuntu 上安装 Docker:

  curl -fsSL https://get.docker.com | sh
  

验证安装:

  docker --version
docker compose version
  

第一步 — 获取文件

将部署仓库克隆到您的服务器:

  git clone ssh://git@rtgit.rta.vn:2224/rtlab/rtwebteam/rta-smart-survey-docker.git rtcloud
cd rtcloud
  

第二步 — 配置环境

复制示例配置文件:

  cp .env.production.sample .env
  

在文本编辑器中打开 .env 并填写必要的值:

  # 此部署的唯一标识符(无空格,无特殊字符)
PROJECT_ID=myproject

# 用户访问应用的域名或 IP 地址
# 示例:rtcloud.example.com 或 192.168.1.100
PROJECT_URL=rtcloud.example.com

# 协议:如果您有带 SSL 的域名,使用"https",否则使用"http"
HTTP_PROTOCOL=https

# 强密码,且各不相同——在启动前更改以下三个密码
MYSQL_PASSWORD=change_me_strong_password
MYSQL_ROOT_PASSWORD=change_me_root_password
ADMIN_PASSWORD=change_me_admin_password
  

重要: Docker Compose 只会自动读取 .env 文件。不要创建名为 .env.production 的文件,这会造成混淆。ADMIN_PASSWORD 仅在全新数据库的首次启动时生效。


第三步 — 启动容器

在后台启动所有服务:

  docker compose -f docker-compose.production.yml up -d
  

首次启动需要 3–5 分钟,Docker 将:

  1. 拉取 rtCloud 应用镜像(约 1 GB 下载量)
  2. 初始化 MySQL 数据库
  3. 加载基础架构
  4. 运行所有待处理的数据库迁移

实时监控启动进度:

  docker compose -f docker-compose.production.yml logs -f rtcloud
  

等待出现表明应用已就绪的输出。您也可以查看容器健康状态:

  watch docker compose -f docker-compose.production.yml ps
  

第四步 — 访问应用

两个容器均显示 Up (healthy) 后,打开浏览器:

  http://<PROJECT_URL>:8080
  

使用管理员账户登录:

字段
用户名admin
密码您在 .env 中为 ADMIN_PASSWORD 设置的值

首次登录后,请立即从账户设置页面更改管理员密码。


第五步 — 验证所有服务

检查所有容器是否正在运行且健康:

  docker compose -f docker-compose.production.yml ps
  

预期输出:

  NAME                    IMAGE                                   STATUS
rtcloud-app             rtawebteam/rta-smartsurvey:...          Up (healthy)
rtcloud-mysql           mysql:8.0                               Up (healthy)
  

如果容器显示 Up (starting)Up (unhealthy),请再等待 30–60 秒后重新检查。MySQL 在首次启动时可能需要最多一分钟才能完全初始化。


端口参考

端口服务描述
8080rtCloud 应用主网页界面(可通过 APP_PORT 配置)
3838Shiny 服务器分析和基于 R 的可视化(可通过 SHINY_PORT 配置)

MySQL(端口 3306)和任何可选服务(Keycloak)默认仅供内部使用,不对主机开放。


后续步骤

您的 rtCloud 实例现在已在运行。请考虑以下后续任务:

  • 启用 HTTPS — 将域名指向您的服务器,并使用 Let’s Encrypt 配置 SSL。请参阅云端部署了解自动化 HTTPS 设置。
  • 检查所有设置 — 浏览配置参考以针对生产环境调整您的部署。
  • 设置 SSO — 连接身份提供商以进行集中式用户身份验证。请参阅 SSO 认证
  • 规划备份 — 查阅维护页面了解备份和升级程序。
此页面有帮助吗?