DigitalOcean User Data स्क्रिप्ट का उपयोग करता है जो पहले बूट पर स्वचालित रूप से चलती हैं। आप स्क्रिप्ट के शीर्ष पर कॉन्फ़िगरेशन चर भरते हैं, फिर Droplet बनाते समय पूरी स्क्रिप्ट पेस्ट करते हैं।

Linode StackScripts के विपरीत, DigitalOcean में कोई फ़ॉर्म UI नहीं है — आपको पेस्ट करने से पहले स्क्रिप्ट को सीधे संपादित करना होगा।

स्क्रिप्ट डाउनलोड करें: digitalocean-droplet-keycloak-embed.sh


एम्बेडेड Keycloak (अनुशंसित)

बिल्ट-इन SSO के साथ सबसे सरल सेटअप के लिए digitalocean-droplet-keycloak-embed.sh का उपयोग करें।

चरण 1 — कॉन्फ़िगरेशन भरें

स्क्रिप्ट खोलें और शीर्ष पर CONFIGURATION ब्लॉक संपादित करें:

  # --- आवश्यक ---
PROJECT_ID="rtsurvey"                  # आपकी परियोजना के लिए अद्वितीय पहचानकर्ता (कोई स्पेस नहीं)
ADMIN_PASSWORD="admin"                 # ऐप admin और Keycloak के लिए पासवर्ड — पहले लॉगिन के बाद बदलें

# --- डोमेन + SSL ---
DOMAIN="myapp.example.com"            # आपका डोमेन — DNS A रिकॉर्ड यहाँ पॉइंट होना चाहिए
PROJECT_URL=""                         # Cloudflare/proxy के पीछे होने के अलावा खाली छोड़ें
LETSENCRYPT_EMAIL="admin@example.com" # Let's Encrypt सूचनाओं के लिए ईमेल

# --- वैकल्पिक ---
STATA_ENABLED="false"
TZ="Asia/Ho_Chi_Minh"
  
फ़ील्डआवश्यकविवरण
PROJECT_IDहांडेटाबेस नाम और Keycloak क्लाइंट ID के रूप में उपयोग किया जाता है। लोअरकेस, कोई स्पेस नहीं।
ADMIN_PASSWORDनहींऐप admin लॉगिन और Keycloak admin कंसोल के लिए पासवर्ड। डिफ़ॉल्ट adminपहले लॉगिन के बाद बदलें
DOMAINहांआपका डोमेन नाम। DNS A रिकॉर्ड Droplet IP की ओर पॉइंट होना चाहिए।
LETSENCRYPT_EMAILहांLet’s Encrypt प्रमाणपत्र सूचनाओं के लिए ईमेल पता।
PROJECT_URLनहींसार्वजनिक URL ओवरराइड करें। DOMAIN का उपयोग करने के लिए खाली छोड़ें। Cloudflare के पीछे उपयोगी।

सुरक्षा: सभी पासवर्ड डिफ़ॉल्ट रूप से admin हैं। पहले लॉगिन के तुरंत बाद उन्हें बदलें।

चरण 2 — एक Droplet बनाएं

DigitalOcean कंट्रोल पैनल में:

  1. CreateDroplets पर क्लिक करें
  2. इमेज के रूप में Ubuntu 22.04 LTS चुनें
  3. Basic, 4 GB RAM / 2 vCPUs या बड़ा चुनें
  4. Advanced Options पर स्क्रॉल करें → Add Initialization scripts चेक करें
  5. टेक्स्ट एरिया में पूरी स्क्रिप्ट सामग्री पेस्ट करें
  6. Create Droplet पर क्लिक करें

चरण 3 — DNS रिकॉर्ड जोड़ें

Droplet बूट होते समय, अपने DNS प्रदाता में एक A रिकॉर्ड जोड़ें:

  Type  : A
Name  : myapp          (या root डोमेन के लिए @)
Value : <droplet-ip>
TTL   : 300
  

चरण 4 — प्रगति मॉनिटर करें

Droplet में SSH करें और लॉग देखें:

  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 से लॉग इन करें।

लॉगिन के तुरंत बाद ऊपरी-दाएं मेनू में Settings के माध्यम से अपना पासवर्ड बदलें


डिप्लॉयमेंट के बाद

पासवर्ड बदलें

Droplet में SSH करें, .env संपादित करें और प्रभावित कंटेनर को पुनः शुरू करें:

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

डोमेन अपडेट करें

यदि डिप्लॉयमेंट के बाद आप एक अलग डोमेन असाइन करते हैं, तो .env में PROJECT_URL अपडेट करें:

  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
  
क्या यह पृष्ठ सहायक था?