DigitalOcean
Разгърнете rtCloud на DigitalOcean Droplet с автоматизирани скриптове за потребителски данни.
DigitalOcean използва скриптове за потребителски данни (User Data), които се изпълняват автоматично при първото стартиране. Попълвате конфигурационните променливи в горната част на скрипта, след което поставяте целия скрипт при създаване на Droplet.
За разлика от Linode StackScripts, DigitalOcean няма UI с формуляр — трябва да редактирате скрипта директно преди поставяне.
Изтеглете скрипта: digitalocean-droplet-keycloak-embed.sh
Вграден Keycloak (Препоръчително)
Използвайте digitalocean-droplet-keycloak-embed.sh за най-простата настройка с вграден SSO.
Стъпка 1 — Попълнете конфигурацията
Отворете скрипта и редактирайте блока CONFIGURATION в горната му част:
# --- Задължителни ---
PROJECT_ID="rtsurvey" # Уникален идентификатор на проекта (без интервали)
ADMIN_PASSWORD="admin" # Парола за администратора на приложението и Keycloak — сменете след първото влизане
# --- Домейн + SSL ---
DOMAIN="myapp.example.com" # Вашият домейн — DNS A записът трябва да сочи тук
PROJECT_URL="" # Оставете празно, освен ако не сте зад Cloudflare/прокси
LETSENCRYPT_EMAIL="admin@example.com" # Имейл за известия от Let's Encrypt
# --- Незадължителни ---
STATA_ENABLED="false"
TZ="Asia/Ho_Chi_Minh"
| Поле | Задължително | Описание |
|---|---|---|
PROJECT_ID | Да | Използва се като наименование на базата данни и Keycloak client ID. Малки букви, без интервали. |
ADMIN_PASSWORD | Не | Парола за влизане на администратора на приложението и конзолата на Keycloak администратора. По подразбиране е admin — сменете след първото влизане. |
DOMAIN | Да | Вашето домейн наименование. DNS A записът трябва да сочи към IP адреса на Droplet. |
LETSENCRYPT_EMAIL | Да | Имейл адрес за известия за сертификат от Let’s Encrypt. |
PROJECT_URL | Не | Заместете публичния URL. Оставете празно за използване на DOMAIN. Полезно зад Cloudflare. |
Сигурност: Всички пароли по подразбиране са
admin. Сменете ги незабавно след първото влизане.
Стъпка 2 — Създайте Droplet
В панела за управление на DigitalOcean:
- Кликнете Създаване → Droplets
- Изберете Ubuntu 22.04 LTS като образ
- Изберете Basic, 4 GB RAM / 2 vCPU или по-голям
- Превъртете до Разширени опции → отметнете Добавяне на скриптове за инициализация
- Поставете пълното съдържание на скрипта в текстовото поле
- Кликнете Създаване на Droplet
Стъпка 3 — Добавете DNS запис
Докато Droplet стартира, добавете A запис при вашия DNS доставчик:
Type : A
Name : myapp (или @ за корен домейн)
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.
============================================================
Отворете https://myapp.example.com в браузъра и влезте с потребителско име admin и парола 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 # актуализирайте 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