DigitalOcean
Разположете rtCloud на DigitalOcean Droplet с помощта на автоматизирани скриптове за потребителски данни.
DigitalOcean използва скриптове User Data, които се изпълняват автоматично при първото зареждане. Попълвате конфигурационните променливи в горната част на скрипта, след което поставяте целия скрипт, когато създавате Droplet.
За разлика от Linode StackScripts, DigitalOcean няма потребителски интерфейс за формуляр — трябва да редактирате скрипта директно преди поставяне.
Download script: digitalocean-droplet-keycloak-embed.sh
Вграден Keycloak (препоръчително)
Use digitalocean-droplet-keycloak-embed.sh for the simplest setup with built-in 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"
| Поле | Задължително | Описание |
|---|---|---|
ID_PROJECT_ID | Да | Използва се като име на база данни и клиентски идентификатор на Keycloak. Малки букви, без интервали. |
ADMIN_PASSWORD | Не | Парола за вход на администратор на приложение и конзола за администратор на Keycloak. По подразбиране е admin — промяна след първо влизане. |
ДОМЕЙН | Да | Вашето име на домейн. DNS Запис трябва да сочи към Droplet IP. |
LETSENCRYPT_EMAIL | Да | Имейл адрес за известия за сертификати Let’s Encrypt. |
PROJECT_URL | Не | Заменете публичния URL адрес. Оставете празно, за да използвате „ДОМЕЙН“. Полезно зад Cloudflare. |
Сигурност: Всички пароли по подразбиране са
admin. Променете ги веднага след първото си влизане.
Стъпка 2 — Създаване на капчица
In the DigitalOcean control panel:
- Щракнете върху Създаване → Капчици
- Изберете Ubuntu 22.04 LTS като изображение
- Изберете Основна, 4 GB RAM / 2 vCPUs или по-голяма
- Превъртете до Advanced Options → отметнете Add Initialization scripts
- Поставете пълното съдържание на скрипта в текстовата област
- Щракнете върху Създаване на капка
Стъпка 3 — Добавяне на DNS запис
Докато Droplet се зарежда, добавете A запис във вашия 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