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 client ID. Малки букви, без интервали. |
ADMIN_PASSWORD | Не | Парола на администратора на приложението и на Keycloak. По подразбиране е admin — сменете след първото влизане. |
DOMAIN | Не | Вашият домейн за HTTPS. Оставете празно за режим само с HTTP. |
LETSENCRYPT_EMAIL | Да (ако е зададен DOMAIN) | Имейл за известия от Let’s Encrypt. |
EMBED_KEYCLOAK | Не | true за разгръщане на вграден Keycloak (изисква 4 GB RAM). |
Сигурност: Всички пароли по подразбиране са
admin. Сменете ги незабавно след първото влизане.
Стъпка 2 — Създайте VM инстанс
- Кликнете Създаване на инстанс
- Конфигурация на машина:
- Серия:
E2 - Тип машина:
e2-medium(4 GB RAM) или по-голям
- Серия:
- Диск за стартиране:
- Операционна система: Ubuntu
- Версия: Ubuntu 22.04 LTS
- Размер: 40 GB или повече
- Защитна стена: отметнете Разрешаване на HTTP трафик и Разрешаване на HTTPS трафик
- Разширени опции → Управление → Автоматизация → Стартов скрипт → поставете пълното съдържание на скрипта
- Кликнете Създаване
Стъпка 3 — Добавете DNS запис
Докато VM стартира, добавете A запис при вашия DNS доставчик:
Type : A
Name : myapp
Value : <vm-external-ip>
TTL : 300
Намерете външния IP адрес в списъка с VM инстанси в конзолата.
Стъпка 4 — Наблюдавайте напредъка
С помощта на gcloud CLI:
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, след което незабавно сменете паролата.
Правила за защитна стена
Отметките Разрешаване на HTTP/HTTPS в GCP отварят портове 80 и 443. За да позволите и директен достъп до Shiny на порт 3838, добавете правило за защитна стена:
gcloud compute firewall-rules create allow-shiny \
--allow tcp:3838 \
--target-tags http-server
Или го добавете чрез конзолата: VPC мрежа → Защитна стена → Създаване на правило.
Не отваряйте порт 3306 (MySQL) — той никога не трябва да бъде публично достъпен.
Статичен IP (незадължително)
По подразбиране GCP присвоява временен външен IP адрес, който се променя при рестартиране на VM. За поддържане на стабилен IP:
- Отидете на VPC мрежа → IP адреси
- Кликнете Резервиране на външен статичен адрес
- Присвоете го на вашия 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