- #462: Mark gemini-cli provider as deprecated in providers.ts Add deprecated, deprecationReason, hasFree, freeNote, authHint, apiHint to Zod provider schema - #471: Add VM_DEPLOYMENT_GUIDE.md to DOC_SOURCE_FILES in generate-multilang.mjs Delete 29 stale PT-language copies and regenerate from EN source for all 30 locales (29 auto-translated + 1 Czech from PR #482)
12 KiB
ओमनीरूट - क्लाउडफ्लेयर के साथ वीएम पर परिनियोजन गाइड
🌐 Languages: 🇺🇸 English | 🇧🇷 Português (Brasil) | 🇪🇸 Español | 🇫🇷 Français | 🇮🇹 Italiano | 🇷🇺 Русский | 🇨🇳 中文 (简体) | 🇩🇪 Deutsch | 🇮🇳 हिन्दी | 🇹🇭 ไทย | 🇺🇦 Українська | 🇸🇦 العربية | 🇯🇵 日本語 | 🇻🇳 Tiếng Việt | 🇧🇬 Български | 🇩🇰 Dansk | 🇫🇮 Suomi | 🇮🇱 עברית | 🇭🇺 Magyar | 🇮🇩 Bahasa Indonesia | 🇰🇷 한국어 | 🇲🇾 Bahasa Melayu | 🇳🇱 Nederlands | 🇳🇴 Norsk | 🇵🇹 Português (Portugal) | 🇷🇴 Română | 🇵🇱 Polski | 🇸🇰 Slovenčina | 🇸🇪 Svenska | 🇵🇭 Filipino | 🇨🇿 Čeština
क्लाउडफ्लेयर के माध्यम से प्रबंधित डोमेन के साथ वीएम (वीपीएस) पर ओमनीरूट को स्थापित और कॉन्फ़िगर करने के लिए पूरी गाइड।
पूर्वावश्यकताएँ
| आइटम | न्यूनतम | अनुशंसित |
|---|---|---|
| सीपीयू | 1 वीसीपीयू | 2 वीसीपीयू |
| राम | 1 जीबी | 2 जीबी |
| डिस्क | 10 जीबी एसएसडी | 25 जीबी एसएसडी |
| ओएस | उबंटू 22.04 एलटीएस | उबंटू 24.04 एलटीएस |
| डोमेन | Cloudflare पर पंजीकृत | — |
| डॉकर | डॉकर इंजन 24+ | डॉकर 27+ |
परीक्षित प्रदाता: अकामाई (लिनोड), डिजिटलओशन, वल्चर, हेट्ज़नर, एडब्ल्यूएस लाइटसेल।
1. वीएम को कॉन्फ़िगर करें
1.1 उदाहरण बनाएँ
आपके पसंदीदा VPS प्रदाता पर:
- उबंटू 24.04 एलटीएस चुनें
- न्यूनतम योजना चुनें (1 वीसीपीयू / 1 जीबी रैम)
- एक मजबूत रूट पासवर्ड सेट करें या SSH कुंजी कॉन्फ़िगर करें
- सार्वजनिक आईपी पर ध्यान दें (जैसे,
203.0.113.10)
1.2 एसएसएच के माध्यम से कनेक्ट करें
ssh root@203.0.113.10
1.3 सिस्टम को अपडेट करें
OMNI_टोकन_1
1.4 डॉकर स्थापित करें
# Install dependencies
apt install -y ca-certificates curl gnupg
# Add official Docker repository
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $ (. /etc/os-release && echo “$VERSION_CODENAME”) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
1.5 nginx स्थापित करें
apt install -y nginx
1.6 फ़ायरवॉल कॉन्फ़िगर करें (UFW)
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp # SSH
ufw allow 80/tcp # HTTP (redirect)
ufw allow 443/tcp # HTTPS
ufw enable
टिप: अधिकतम सुरक्षा के लिए, पोर्ट 80 और 443 को केवल क्लाउडफ़ेयर आईपी तक सीमित रखें। Advanced Security अनुभाग देखें।
2. ओमनीरूट स्थापित करें
2.1 कॉन्फ़िगरेशन निर्देशिका बनाएं
OMNI_टोकन_5
2.2 पर्यावरण चर फ़ाइल बनाएँ
OMNI_टोकन_6
⚠️ महत्वपूर्ण: अद्वितीय गुप्त कुंजियाँ उत्पन्न करें! प्रत्येक कुंजी के लिए
openssl rand -hex 32का उपयोग करें।
2.3 कंटेनर प्रारंभ करें
docker pull diegosouzapw/omniroute:latest
docker run -d \
--name omniroute \
--restart unless-stopped \
--env-file /opt/omniroute/.env \
-p 20128:20128 \
-v omniroute-data:/app/data \
diegosouzapw/omniroute:latest
2.4 सत्यापित करें कि यह चल रहा है
OMNI_टोकन_8
इसे प्रदर्शित करना चाहिए: [DB] SQLite database ready और listening on port 20128।
3. nginx कॉन्फ़िगर करें (रिवर्स प्रॉक्सी)
3.1 एसएसएल प्रमाणपत्र उत्पन्न करें (क्लाउडफ्लेयर ओरिजिन)
क्लाउडफ्लेयर डैशबोर्ड में:
- एसएसएल/टीएलएस → ओरिजिन सर्वर पर जाएं
- प्रमाणपत्र बनाएं पर क्लिक करें
- डिफ़ॉल्ट रखें (15 वर्ष, *.yourdomain.com)
- मूल प्रमाणपत्र और निजी कुंजी की प्रतिलिपि बनाएँ
mkdir -p /etc/nginx/ssl
# Paste the certificate
nano /etc/nginx/ssl/origin.crt
# Paste the private key
nano /etc/nginx/ssl/origin.key
chmod 600 /etc/nginx/ssl/origin.key
3.2 नगनेक्स कॉन्फ़िगरेशन
cat > /etc/nginx/sites-available/omniroute << ‘NGINX’
# Default server — blocks direct access via IP
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl_certificate /etc/nginx/ssl/origin.crt;
ssl_certificate_key /etc/nginx/ssl/origin.key;
server_name _;
return 444;
}
# OmniRoute — HTTPS
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name llms.yourdomain.com; # Change to your domain
ssl_certificate /etc/nginx/ssl/origin.crt;
ssl_certificate_key /etc/nginx/ssl/origin.key;
ssl_protocols TLSv1.2 TLSv1.3;
client_max_body_size 100M;
location / {
proxy_pass http://127.0.0.1:20128;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “upgrade”;
# SSE (Server-Sent Events) — streaming AI responses
proxy_buffering off;
proxy_cache off;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
}
}
# HTTP → HTTPS redirect
server {
listen 80;
listen [::]:80;
server_name llms.yourdomain.com;
return 301 https://$server_name$request_uri;
}
NGINX
3.3 सक्षम करें और परीक्षण करें
OMNI_टोकन_11
4. क्लाउडफ्लेयर डीएनएस कॉन्फ़िगर करें
4.1 डीएनएस रिकॉर्ड जोड़ें
क्लाउडफ़ेयर डैशबोर्ड में → DNS:
| प्रकार | नाम | सामग्री | प्रॉक्सी |
|---|---|---|---|
| ए | llms |
203.0.113.10 (VM IP) |
✅ प्रॉक्सी |
4.2 एसएसएल कॉन्फ़िगर करें
एसएसएल/टीएलएस → अवलोकन के अंतर्गत:
- मोड: पूर्ण (सख्त)
एसएसएल/टीएलएस → एज सर्टिफिकेट के अंतर्गत:
- हमेशा HTTPS का उपयोग करें: ✅ चालू
- न्यूनतम टीएलएस संस्करण: टीएलएस 1.2
- स्वचालित HTTPS पुनर्लेखन: ✅ चालू
4.3 परीक्षण
OMNI_टोकन_12
5. संचालन एवं रखरखाव
नए संस्करण में अपग्रेड करें
OMNI_टोकन_13
लॉग देखें
OMNI_टोकन_14
मैनुअल डेटाबेस बैकअप
OMNI_टोकन_15
बैकअप से पुनर्स्थापित करें
OMNI_टोकन_16
6. उन्नत सुरक्षा
nginx को Cloudflare IP तक सीमित करें
OMNI_टोकन_17
निम्नलिखित को http {} ब्लॉक के अंदर nginx.conf में जोड़ें:
OMNI_टोकन_18
फेल2बैन स्थापित करें
OMNI_टोकन_19
डॉकर पोर्ट तक सीधी पहुंच को अवरुद्ध करें
# Prevent direct external access to port 20128
iptables -I DOCKER-USER -p tcp --dport 20128 -j DROP
iptables -I DOCKER-USER -i lo -p tcp --dport 20128 -j ACCEPT
# Persist the rules
apt install -y iptables-persistent
netfilter-persistent save
7. क्लाउडफ्लेयर श्रमिकों की तैनाती (वैकल्पिक)
क्लाउडफ्लेयर वर्कर्स के माध्यम से रिमोट एक्सेस के लिए (वीएम को सीधे उजागर किए बिना):
OMNI_टोकन_21
पूरा दस्तावेज़ omnirouteCloud/README.md पर देखें।
पोर्ट सारांश
| बंदरगाह | सेवा | पहुंच |
|---|---|---|
| 22 | एसएसएच | सार्वजनिक (fail2ban के साथ) |
| 80 | nginx HTTP | रीडायरेक्ट → HTTPS |
| 443 | nginx HTTPS | क्लाउडफ्लेयर प्रॉक्सी के माध्यम से |
| 20128 | ओमनीरूट | केवल लोकलहोस्ट (nginx के माध्यम से) |