DigitalOcean uses User Data scripts that run automatically on first boot. You fill in the configuration variables at the top of the script, then paste the entire script when creating a Droplet.

На відміну від Linode StackScripts, DigitalOcean не має інтерфейсу користувача форми — ви повинні редагувати сценарій безпосередньо перед вставленням.

Download script: digitalocean-droplet-keycloak-embed.sh


Вбудований Keycloak (рекомендовано)

Використовуйте digitalocean-droplet-keycloak-embed.sh для найпростішого налаштування з вбудованим SSO.

Крок 1 — Заповніть конфігурацію

Відкрийте скрипт і відредагуйте блок CONFIGURATION у верхній частині:

  # --- Required ---
PROJECT_ID="rtsurvey"                  # Unique identifier for your project (no spaces)
ADMIN_PASSWORD="admin"                 # Password for app admin and Keycloak — change after first login

# --- Domain + SSL ---
DOMAIN="myapp.example.com"            # Your domain — DNS A record must point here
PROJECT_URL=""                         # Leave blank unless behind Cloudflare/proxy
LETSENCRYPT_EMAIL="admin@example.com" # Email for Let's Encrypt notifications

# --- Optional ---
STATA_ENABLED="false"
TZ="Asia/Ho_Chi_Minh"
  
ПолеНеобхідноОпис
PROJECT_IDТакВикористовується як назва бази даних і ідентифікатор клієнта Keycloak. Малі літери, без пробілів.
ПАРОЛЬ_АДМІНІСТРАТОРАНіПароль для входу адміністратора програми та консолі адміністратора Keycloak. За замовчуванням adminзмінити після першого входу.
ДОМЕНТакВаше доменне ім’я. Запис DNS має вказувати на IP-адресу Droplet.
LETSENCRYPT_EMAILТакЕлектронна адреса для сповіщень про сертифікат Let’s Encrypt.
PROJECT_URLНіПеревизначте загальнодоступну URL-адресу. Залиште поле порожнім, щоб використовувати DOMAIN. Корисно поза Cloudflare.

Безпека: Усі паролі за замовчуванням admin. Змініть їх одразу після першого входу.

Крок 2 — Створіть краплю

In the DigitalOcean control panel:

  1. Натисніть СтворитиКраплі
  2. Виберіть Ubuntu 22.04 LTS як зображення
  3. Виберіть Базовий, 4 ГБ оперативної пам’яті / 2 vCPU або більше
  4. Прокрутіть до Додаткові параметри → поставте прапорець Додати сценарії ініціалізації
  5. Вставте повний вміст сценарію в текстову область
  6. Натисніть Create Droplet

Крок 3 — Додайте запис DNS

Під час завантаження Droplet додайте запис у вашому DNS-провайдері:

  Type  : A
Name  : myapp          (or @ for root domain)
Value : <droplet-ip>
TTL   : 300
  

Крок 4 — Відстежуйте прогрес

SSH у Droplet і подивіться журнал:

  ssh root@<droplet-ip>
tail -f /var/log/rtcloud-setup.log
  

Сценарій друкує IP-адресу вашого сервера на початку — додайте запис DNS, щойно ви його побачите.

Крок 5 — Доступ до програми

Після завершення налаштування в журналі відобразиться підсумок:

  ============================================================
 rtCloud deployment complete! (Embedded Keycloak)
============================================================
 App URL   : https://myapp.example.com
 Admin     : admin / admin
 Keycloak  : https://myapp.example.com/auth/admin

 !! SECURITY: All passwords default to 'admin'.
    Change them immediately after first login.
============================================================
  

Open https://myapp.example.com in your browser and log in with username admin and password admin.

Змініть свій пароль відразу після входу через Налаштування у верхньому правому меню.


Після розгортання

Змінити пароль

SSH у Droplet, відредагуйте .env і перезапустіть уражений контейнер:

  nano /opt/rtcloud/.env
docker compose -f /opt/rtcloud/docker-compose.production.yml up -d --force-recreate rtcloud
  

Оновіть домен

Якщо ви призначаєте інший домен після розгортання, оновіть PROJECT_URL у .env:

  nano /opt/rtcloud/.env   # update PROJECT_URL=
docker compose -f /opt/rtcloud/docker-compose.production.yml up -d --force-recreate rtcloud
  

Переглянути всі контейнери

  docker compose -f /opt/rtcloud/docker-compose.production.yml ps
  
Чи була ця сторінка корисною?