Это руководство проведёт вас через развёртывание самостоятельно размещённого экземпляра rtCloud на Linux-сервере с нуля. По завершении у вас будет работающий rtCloud, доступный в браузере.

Предварительные требования

Убедитесь, что ваш сервер соответствует следующим требованиям перед началом работы:

Аппаратное обеспечение

РесурсМинимумРекомендуется
RAM2 ГБ4 ГБ
Диск10 ГБ40 ГБ
CPU1 vCPU2 vCPU

Программное обеспечение

ПрограммаВерсия
ОСUbuntu 20.04 LTS или новее (или любой Linux с поддержкой Docker)
Docker20.10 или новее
Docker Composev2.x (docker compose) или v1.x (docker-compose)

Установка Docker на Ubuntu:

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

Проверьте установку:

  docker --version
docker compose version
  

Шаг 1 — Получите файлы

Клонируйте репозиторий развёртывания на ваш сервер:

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

Шаг 2 — Настройте окружение

Скопируйте образец файла конфигурации:

  cp .env.production.sample .env
  

Откройте .env в текстовом редакторе и заполните необходимые значения:

  # Уникальный идентификатор этого развёртывания (без пробелов и специальных символов)
PROJECT_ID=myproject

# Домен или IP-адрес, по которому пользователи будут обращаться к приложению
# Пример: rtcloud.example.com  или  192.168.1.100
PROJECT_URL=rtcloud.example.com

# Протокол: используйте "https", если у вас есть домен с SSL, иначе "http"
HTTP_PROTOCOL=https

# Надёжные уникальные пароли — измените все три перед запуском
MYSQL_PASSWORD=change_me_strong_password
MYSQL_ROOT_PASSWORD=change_me_root_password
ADMIN_PASSWORD=change_me_admin_password
  

Важно: Только .env читается Docker Compose автоматически. Не создавайте файл с именем .env.production, так как это вызовет путаницу. ADMIN_PASSWORD применяется только при первом запуске с чистой базой данных.


Шаг 3 — Запустите контейнеры

Запустите все сервисы в фоновом режиме:

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

Первый запуск занимает 3–5 минут, пока Docker:

  1. Загружает образ приложения rtCloud (~1 ГБ)
  2. Инициализирует базу данных MySQL
  3. Загружает базовую схему
  4. Применяет все ожидающие миграции базы данных

Следите за ходом запуска в реальном времени:

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

Дождитесь вывода, указывающего на готовность приложения. Также можно наблюдать за состоянием здоровья контейнеров:

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

Шаг 4 — Откройте приложение

Когда оба контейнера покажут Up (healthy), откройте браузер:

  http://<PROJECT_URL>:8080
  

Войдите в систему, используя учётную запись администратора:

ПолеЗначение
Имя пользователяadmin
ПарольЗначение, установленное для ADMIN_PASSWORD в .env

Немедленно смените пароль администратора после первого входа на странице настроек учётной записи.


Шаг 5 — Проверьте все сервисы

Убедитесь, что все контейнеры запущены и работают корректно:

  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Основной веб-интерфейс (настраивается через APP_PORT)
3838Shiny ServerАналитика и R-визуализации (настраивается через SHINY_PORT)

MySQL (порт 3306) и дополнительные сервисы (Keycloak) являются внутренними и по умолчанию не открыты хосту.


Следующие шаги

Ваш экземпляр rtCloud теперь работает. Рассмотрите следующие задачи:

  • Включите HTTPS — Привяжите домен к серверу и настройте SSL с Let’s Encrypt. Подробнее см. в разделе Облачное развёртывание.
  • Проверьте все настройки — Ознакомьтесь со Справочником по конфигурации для настройки производственного развёртывания.
  • Настройте SSO — Подключите поставщика идентификации для централизованной аутентификации пользователей. Подробнее см. в разделе SSO-аутентификация.
  • Спланируйте резервное копирование — Ознакомьтесь со страницей Обслуживание для процедур резервного копирования и обновления.
Была ли эта страница полезной?