DigitalOcean
Nasadenie rtCloud na Droplet DigitalOcean pomocou automatizovaných skriptov user-data.
DigitalOcean používa skripty User Data, ktoré sa automaticky spúšťajú pri prvom spustení. Vyplníte konfiguračné premenné v hornej časti skriptu a potom vložíte celý skript pri vytváraní Droplet.
Na rozdiel od Linode StackScripts, DigitalOcean nemá formulárové UI — musíte skript upraviť priamo pred vložením.
Stiahnuť skript: digitalocean-droplet-keycloak-embed.sh
Vstavaný Keycloak (odporúčané)
Použite digitalocean-droplet-keycloak-embed.sh pre najjednoduchšie nastavenie so vstavaným SSO.
Krok 1 — Vyplňte konfiguráciu
Otvorte skript a upravte blok CONFIGURATION v hornej časti:
# --- Povinné ---
PROJECT_ID="rtsurvey" # Jedinečný identifikátor vášho projektu (bez medzier)
ADMIN_PASSWORD="admin" # Heslo pre správcu aplikácie a Keycloak — zmeňte po prvom prihlásení
# --- Doména + SSL ---
DOMAIN="myapp.example.com" # Vaša doména — záznam DNS A musí smerovať sem
PROJECT_URL="" # Ponechajte prázdne, ak nie ste za Cloudflare/proxy
LETSENCRYPT_EMAIL="admin@example.com" # Email pre oznámenia Let's Encrypt
# --- Voliteľné ---
STATA_ENABLED="false"
TZ="Asia/Ho_Chi_Minh"
| Pole | Povinné | Popis |
|---|---|---|
PROJECT_ID | Áno | Používa sa ako názov databázy a ID klienta Keycloak. Malými písmenami, bez medzier. |
ADMIN_PASSWORD | Nie | Heslo pre prihlásenie správcu aplikácie a konzolu správcu Keycloak. Predvolené na admin — zmeňte po prvom prihlásení. |
DOMAIN | Áno | Vaše doménové meno. Záznam DNS A musí smerovať na IP Droplet. |
LETSENCRYPT_EMAIL | Áno | Emailová adresa pre oznámenia certifikátov Let’s Encrypt. |
PROJECT_URL | Nie | Prepísanie verejnej URL. Ponechajte prázdne na použitie DOMAIN. Užitočné za Cloudflare. |
Bezpečnosť: Všetky heslá majú predvolenú hodnotu
admin. Zmeňte ich ihneď po prvom prihlásení.
Krok 2 — Vytvorte Droplet
V ovládacom paneli DigitalOcean:
- Kliknite na Create → Droplets
- Vyberte Ubuntu 22.04 LTS ako image
- Vyberte Basic, 4 GB RAM / 2 vCPUs alebo väčší
- Posuňte sa na Advanced Options → zaškrtnite Add Initialization scripts
- Vložte celý obsah skriptu do textovej oblasti
- Kliknite na Create Droplet
Krok 3 — Pridajte záznam DNS
Kým sa Droplet spúšťa, pridajte záznam A u vášho poskytovateľa DNS:
Typ : A
Názov : myapp (alebo @ pre koreňovú doménu)
Hodnota: <droplet-ip>
TTL : 300
Krok 4 — Monitorujte postup
Pripojte sa cez SSH k Droplet a sledujte protokol:
ssh root@<droplet-ip>
tail -f /var/log/rtcloud-setup.log
Skript vypíše IP adresu vášho servera na začiatku — pridajte záznam DNS hneď, ako ho uvidíte.
Krok 5 — Prístup k aplikácii
Po dokončení nastavenia protokol zobrazí súhrn:
============================================================
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.
============================================================
Otvorte https://myapp.example.com v prehliadači a prihláste sa s menom admin a heslom admin.
Zmeňte heslo ihneď po prihlásení cez Nastavenia v menu vpravo hore.
Po nasadení
Zmeňte heslo
Pripojte sa cez SSH k Droplet, upravte .env a reštartujte príslušný kontajner:
nano /opt/rtcloud/.env
docker compose -f /opt/rtcloud/docker-compose.production.yml up -d --force-recreate rtcloud
Aktualizujte doménu
Ak po nasadení priradíte inú doménu, aktualizujte PROJECT_URL v .env:
nano /opt/rtcloud/.env # aktualizujte PROJECT_URL=
docker compose -f /opt/rtcloud/docker-compose.production.yml up -d --force-recreate rtcloud
Zobrazte všetky kontajnery
docker compose -f /opt/rtcloud/docker-compose.production.yml ps