Използвайте 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 инстанс

В конзолата на Google Cloud:

  1. Кликнете Създаване на инстанс
  2. Конфигурация на машина:
    • Серия: E2
    • Тип машина: e2-medium (4 GB RAM) или по-голям
  3. Диск за стартиране:
    • Операционна система: Ubuntu
    • Версия: Ubuntu 22.04 LTS
    • Размер: 40 GB или повече
  4. Защитна стена: отметнете Разрешаване на HTTP трафик и Разрешаване на HTTPS трафик
  5. Разширени опцииУправлениеАвтоматизацияСтартов скрипт → поставете пълното съдържание на скрипта
  6. Кликнете Създаване

Стъпка 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:

  1. Отидете на VPC мрежаIP адреси
  2. Кликнете Резервиране на външен статичен адрес
  3. Присвоете го на вашия 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
  
Беше ли полезна тази страница?