DigitalOcean
Wdróż rtCloud na Droplecie DigitalOcean, korzystając z automatycznych skryptów danych użytkownika.
DigitalOcean wykorzystuje skrypty Dane użytkownika, które uruchamiają się automatycznie przy pierwszym uruchomieniu. Wypełniasz zmienne konfiguracyjne u góry skryptu, a następnie wklejasz cały skrypt podczas tworzenia Dropletu.
W przeciwieństwie do Linode StackScripts, DigitalOcean nie ma interfejsu użytkownika — musisz edytować skrypt bezpośrednio przed wklejeniem.
Download script: digitalocean-droplet-keycloak-embed.sh
Wbudowany Keycloak (zalecane)
Użyj digitalocean-droplet-keycloak-embed.sh, aby uzyskać najprostszą konfigurację z wbudowanym logowaniem jednokrotnym.
Krok 1 — Wypełnij konfigurację
Otwórz skrypt i edytuj blok „KONFIGURACJA” u góry:
# --- 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"
| Pole | Wymagane | Opis |
|---|---|---|
ID_PROJEKTU | Tak | Używana jako nazwa bazy danych i identyfikator klienta Keycloak. Małe litery, bez spacji. |
HASŁO_ADMINA | Nie | Hasło do logowania administratora aplikacji i konsoli administracyjnej Keycloak. Domyślnie jest to admin — zmiana po pierwszym zalogowaniu. |
DOMENA | Tak | Twoja nazwa domeny. Rekord DNS musi wskazywać adres IP Dropletu. |
LETSENCRYPT_EMAIL | Tak | Adres e-mail dla powiadomień o certyfikatach Let’s Encrypt. |
URL_PROJEKTU | Nie | Zastąp publiczny adres URL. Pozostaw puste, aby użyć DOMAIN. Przydatne za Cloudflare. |
Bezpieczeństwo: Wszystkie hasła domyślnie ustawione są na „admin”. Change them immediately after your first login.
Krok 2 — Utwórz kroplę
In the DigitalOcean control panel:
- Kliknij Utwórz → Kropelki
- Jako obraz wybierz Ubuntu 22.04 LTS
- Wybierz Podstawowy, 4 GB RAM / 2 vCPU lub większy
- Przewiń do Opcje zaawansowane → zaznacz Dodaj skrypty inicjujące
- Wklej pełną treść skryptu w obszarze tekstowym
- Kliknij Utwórz kroplę
Krok 3 — Dodaj rekord DNS
Podczas uruchamiania Dropletu dodaj rekord A u swojego dostawcy DNS:
Type : A
Name : myapp (or @ for root domain)
Value : <droplet-ip>
TTL : 300
Krok 4 — Monitoruj postęp
SSH do Dropletu i obejrzyj dziennik:
ssh root@<droplet-ip>
tail -f /var/log/rtcloud-setup.log
The script prints your server IP near the start — add the DNS record as soon as you see it.
Krok 5 — Uzyskaj dostęp do aplikacji
Po zakończeniu konfiguracji dziennik zawiera podsumowanie:
============================================================
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.
Zmień hasło natychmiast po zalogowaniu w Ustawieniach w prawym górnym menu.
Po wdrożeniu
Zmień hasło
SSH do Dropletu, edytuj .env i zrestartuj kontener, którego dotyczy problem:
nano /opt/rtcloud/.env
docker compose -f /opt/rtcloud/docker-compose.production.yml up -d --force-recreate rtcloud
Zaktualizuj domenę
If you assign a different domain after deployment, update PROJECT_URL in .env:
nano /opt/rtcloud/.env # update PROJECT_URL=
docker compose -f /opt/rtcloud/docker-compose.production.yml up -d --force-recreate rtcloud
Wyświetl wszystkie kontenery
docker compose -f /opt/rtcloud/docker-compose.production.yml ps