DigitalOcean
स्वचालित user-data स्क्रिप्ट का उपयोग करके DigitalOcean Droplet पर rtCloud तैनात करें।
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 कंट्रोल पैनल में:
- Create → Droplets पर क्लिक करें
- इमेज के रूप में Ubuntu 22.04 LTS चुनें
- Basic, 4 GB RAM / 2 vCPUs या बड़ा चुनें
- Advanced Options पर स्क्रॉल करें → Add Initialization scripts चेक करें
- टेक्स्ट एरिया में पूरी स्क्रिप्ट सामग्री पेस्ट करें
- 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