AWS EC2
Разверните rtCloud на экземпляре AWS EC2 с помощью скрипта user data aws-ec2.sh.
Используйте aws-ec2.sh как скрипт User Data при запуске экземпляра EC2. Скрипт запускается автоматически при первой загрузке.
Скачать скрипт: aws-ec2.sh
Шаг 1 — Заполните конфигурацию
Откройте скрипт и отредактируйте блок CONFIGURATION в начале:
# --- Обязательные ---
PROJECT_ID="rtsurvey"
ADMIN_PASSWORD="admin" # Смените после первого входа
# --- Домен + SSL ---
DOMAIN="myapp.example.com"
LETSENCRYPT_EMAIL="admin@example.com"
# --- Встроенный Keycloak ---
EMBED_KEYCLOAK="true"
KEYCLOAK_ADMIN_PASSWORD="${ADMIN_PASSWORD}" # По умолчанию равен ADMIN_PASSWORD
| Поле | Обязательное | Описание |
|---|---|---|
PROJECT_ID | Да | Используется как имя базы данных и идентификатор клиента Keycloak. Строчные буквы, без пробелов. |
ADMIN_PASSWORD | Нет | Пароль администратора приложения и Keycloak. По умолчанию admin — смените после первого входа. |
DOMAIN | Нет | Ваш домен для HTTPS. Оставьте пустым для режима только HTTP. |
LETSENCRYPT_EMAIL | Да (если задан DOMAIN) | Email для уведомлений Let’s Encrypt. |
EMBED_KEYCLOAK | Нет | true для развёртывания встроенного Keycloak (требует 4 ГБ RAM). |
Безопасность: Все пароли по умолчанию равны
admin. Немедленно смените их после первого входа.
Шаг 2 — Запустите экземпляр EC2
- Нажмите Launch instance
- AMI: Ubuntu Server 22.04 LTS (64-bit x86)
- Тип экземпляра:
t3.medium(4 ГБ RAM) или больше - Пара ключей: Выберите или создайте для доступа по SSH
- Настройки сети: Создайте или выберите группу безопасности (см. ниже)
- Advanced details → User data → вставьте полное содержимое скрипта
- Нажмите Launch instance
Шаг 3 — Настройте группу безопасности
Откройте следующие порты в группе безопасности экземпляра:
| Порт | Протокол | Источник | Назначение |
|---|---|---|---|
| 22 | TCP | Ваш IP | Доступ по SSH |
| 80 | TCP | 0.0.0.0/0 | HTTP (перенаправляется на HTTPS через Nginx) |
| 443 | TCP | 0.0.0.0/0 | HTTPS |
| 3838 | TCP | 0.0.0.0/0 | Прямой доступ к Shiny |
Не открывайте порт 3306 (MySQL) — он никогда не должен быть публично доступен.
Шаг 4 — Добавьте DNS-запись
Пока экземпляр загружается, добавьте A-запись у вашего DNS-провайдера:
Type : A
Name : myapp
Value : <instance-public-ip>
TTL : 300
Шаг 5 — Отслеживайте прогресс
ssh ubuntu@<instance-ip>
tail -f /var/log/rtcloud-setup.log
Шаг 6 — Откройте приложение
Когда настройка завершится, журнал покажет итоговую информацию с URL приложения и учётными данными. Войдите с именем пользователя admin и паролем admin, затем немедленно смените пароль.
После развёртывания
Смена пароля
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
Назначение Elastic IP (опционально)
При остановке и запуске экземпляра публичный IP меняется. Для сохранения стабильного IP выделите Elastic IP и свяжите его с экземпляром в консоли EC2.