Google Cloud (GCP)
Розгортайте rtCloud на Google Cloud Compute Engine за допомогою стартового скрипту gcp-compute.sh.
Використовуйте gcp-compute.sh як Startup script при створенні екземпляру VM Compute Engine. Скрипт запускається автоматично при першому завантаженні.
Завантажити скрипт: gcp-compute.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 — Створіть екземпляр VM
- Натисніть Create instance
- Machine configuration:
- Серія:
E2 - Тип машини:
e2-medium(4 ГБ RAM) або більший
- Серія:
- Boot disk:
- Операційна система: Ubuntu
- Версія: Ubuntu 22.04 LTS
- Розмір: 40 ГБ або більше
- Firewall: відмітьте Allow HTTP traffic та Allow HTTPS traffic
- Advanced options → Management → Automation → Startup script → вставте повний вміст скрипту
- Натисніть Create
Крок 3 — Додайте DNS-запис
Поки VM завантажується, додайте A-запис у вашому постачальнику DNS:
Type : A
Name : myapp
Value : <vm-external-ip>
TTL : 300
Знайдіть зовнішній IP у списку екземплярів VM у консолі.
Крок 4 — Відстежуйте прогрес
За допомогою CLI gcloud:
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 Allow HTTP/HTTPS відкривають порти 80 та 443. Щоб також дозволити прямий доступ до Shiny на порту 3838, додайте правило брандмауера:
gcloud compute firewall-rules create allow-shiny \
--allow tcp:3838 \
--target-tags http-server
Або додайте через консоль: VPC Network → Firewall → Create rule.
Не відкривайте порт 3306 (MySQL) — він ніколи не повинен бути публічно доступним.
Статичний IP (необов’язково)
За замовчуванням GCP призначає ефемерний зовнішній IP, що змінюється при перезапуску VM. Щоб зберегти стабільний IP:
- Перейдіть до VPC Network → IP addresses
- Натисніть Reserve external static address
- Призначте його вашому екземпляру 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