अपने प्रश्न को पूछें और दस्तावेज़ का सारांश प्राप्त करें, इस पृष्ठ और आपके चुने हुए AI प्रदाता का उपयोग करके
इस पृष्ठ की सामग्री एक AI द्वारा अनुवादित की गई है।
अंग्रेजी में मूल सामग्री के अंतिम संस्करण देखेंअगर आपके पास इस दस्तावेज़ को सुधारने के लिए कोई विचार है, तो कृपया GitHub पर एक पुल अनुरोध सबमिट करके योगदान देने में संकोच न करें।
दस्तावेज़ के लिए GitHub लिंकदस्तावेज़ का Markdown को क्लिपबोर्ड पर कॉपी करें
Intlayer सेल्फ-होस्टिंग
Intlayer आपके अपने बुनियादी ढांचे पर चल सकता है, किसी Intlayer Cloud खाते की आवश्यकता नहीं है। तीन सेटअप उपलब्ध हैं, जो सभी एक ही इंस्टॉलर (install.sh, Windows पर install.ps1, या npx intlayer init infra) द्वारा प्रबंधित होते हैं:
सभी डेटा सामग्री को स्पष्ट रूप से देखने के लिए तालिका को मोडल में खोलें
| Setup | What it is | Pick it for |
|---|---|---|
| डेस्कटॉप ऐप | macOS, Linux और Windows के लिए नेटिव डैशबोर्ड | एक स्थानीय क्लाइंट, कुछ भी होस्ट करने की आवश्यकता नहीं |
| ऑल-इन-वन Docker | डैशबोर्ड, API, MongoDB, Redis और MinIO एक एकल कंटेनर में | परीक्षण और छोटे एकल-मशीन इंस्टॉलेशन |
| Docker Compose | प्रति सेवा एक कंटेनर, प्रत्येक डेटास्टोर को प्रबंधित सेवा से बदला जा सकता है | प्रोडक्शन, स्केलिंग, प्रबंधित डेटाबेस |
Table of Contents
प्रकाशित इमेज और पैकेज
सभी डेटा सामग्री को स्पष्ट रूप से देखने के लिए तालिका को मोडल में खोलें
| Artifact | Docker Hub | GHCR mirror | Contents |
|---|---|---|---|
| All-in-one container | intlayer/cms-all | ghcr.io/aymericzip/intlayer/cms-all | app + backend + MongoDB 8 + Redis + MinIO + Chromium |
| Dashboard (frontend) | intlayer/cms-frontend | ghcr.io/aymericzip/intlayer/cms-frontend | TanStack Start dashboard on Bun |
| API (backend) | intlayer/cms-backend | ghcr.io/aymericzip/intlayer/cms-backend | Fastify REST API on Bun + Chromium |
| Desktop app | GitHub releases | n/a | .dmg (macOS), .deb / .rpm / .AppImage (Linux), .exe / .msi (Windows) |
तीनों इमेज एक ही docker/selfhost/Dockerfile से बनाई गई हैं और प्रत्येक रिलीज़ पर प्रकाशित की जाती हैं। Compose स्टैक आधिकारिक mongo:8, redis:8-alpine और quay.io/minio/minio इमेज भी खींचता है।
सेटअप
इंस्टॉलर पूछता है कि आप कौन सा सेटअप चाहते हैं, पूर्वापेक्षाओं की जाँच करता है (Docker स्थापित करने की पेशकश करता है), पहले से उत्पन्न रहस्यों के साथ पर्यावरण फ़ाइल लिखता है, और इमेज खींचता है। यह अपने आप कुछ भी शुरू नहीं करता है: Docker मोड को पहले मेलर की आवश्यकता होती है, इसलिए यह चलाने के लिए कमांड प्रिंट करके समाप्त होता है। इसे फिर से चलाना सुरक्षित है: मौजूदा पर्यावरण फ़ाइल कभी भी अधिलेखित नहीं होती है, जो इसे अपग्रेड पथ भी बनाती है।
Tauri के साथ निर्मित एक नेटिव एप्लिकेशन के रूप में Intlayer डैशबोर्ड। यह Intlayer Cloud (https://app.intlayer.org) में साइन इन करता है, इसलिए कुछ भी होस्ट करने की आवश्यकता नहीं है। जब आप ब्राउज़र टैब के बजाय स्थानीय क्लाइंट चाहते हैं तो यह सही विकल्प है।
इंस्टॉल करें
इंस्टॉलर आपके OS और CPU के लिए उपयुक्त पैकेज डाउनलोड करता है और उसे खोलता है (macOS), इंस्टॉल करता है (Linux पर dpkg / rpm), या सेटअप विज़ार्ड शुरू करता है (Windows)। आप इसे रिलीज़ पेज से मैन्युअल रूप से भी डाउनलोड कर सकते हैं।
कोड को क्लिपबोर्ड पर कॉपी करें
In PowerShell:
कोड को क्लिपबोर्ड पर कॉपी करें
कोड को क्लिपबोर्ड पर कॉपी करें
आवश्यकताएं
- Node.js: ऐप डैशबोर्ड सर्वर को एम्बेड करता है और इसे मशीन के
nodeबाइनरी के साथ शुरू करता है। यदि ऐप नहीं खुलता है तो इसे nodejs.org से इंस्टॉल करें।
प्रकाशित डेस्कटॉप बिल्ड Intlayer Cloud बैकएंड से संचार करता है। इसे सेल्फ-होस्टेड बैकएंड पर इंगित करने के लिए ऐप को आपके API पर सेट VITE_BACKEND_URL के साथ फिर से बनाने की आवश्यकता होती है, सीमाएँ देखें।
सब कुछ एक ही intlayer/cms-all कंटेनर के अंदर चलता है, जिसकी देखरेख s6-overlay द्वारा की जाती है, जिसमें प्रत्येक डेटास्टोर एक ही वॉल्यूम पर बना रहता है।
कोड को क्लिपबोर्ड पर कॉपी करें
सभी डेटा सामग्री को स्पष्ट रूप से देखने के लिए तालिका को मोडल में खोलें
| सेवा | होस्ट पोर्ट | उद्देश्य |
|---|---|---|
| app | 3000 | डैशबोर्ड (CMS UI) |
| backend | 3100 | REST API (/health एंडपॉइंट) |
| mongo | आंतरिक | MongoDB 8, एकल-नोड प्रतिकृति सेट rs0 |
| redis | आंतरिक | कार्य कतारें (BullMQ) और कैशिंग |
| minio | 9000 (S3), 9001 (कंसोल) | अवतार और स्क्रीनशॉट के लिए S3-संगत ऑब्जेक्ट स्टोरेज |
बूट क्रम s6 निर्भरताओं द्वारा प्रबंधित किया जाता है (mongod → प्रतिकृति-सेट आरंभ, minio → बकेट निर्माण, फिर backend, फिर app), और सेवाएं समाप्त होने पर पुनरारंभ होती हैं, इसलिए पहला बूट स्वचालित रूप से ठीक हो जाता है।
पूर्वापेक्षाएँ
- Docker ≥ 24: इंस्टॉलर इसे इंस्टॉल करने की पेशकश करता है (Linux पर get.docker.com के माध्यम से, macOS पर Homebrew)। Windows पर, पहले Docker Desktop (WSL 2 बैकएंड) इंस्टॉल करें।
- होस्ट पर पोर्ट
3000,3100,9000और9001खाली होने चाहिए। MinIO9000ब्राउज़र द्वारा सुलभ रहना चाहिए क्योंकि संपत्तियां सीधेS3_PUBLIC_URLसे लोड होती हैं। - एक मेलर: Resend API कुंजी या एक SMTP रिले।
1. इंस्टॉल करें
उत्पन्न BETTER_AUTH_SECRET और S3_SECRET_ACCESS_KEY के साथ ./intlayer.env लिखता है, बाकी भरने के लिए कुछ प्रश्न पूछता है, और intlayer/cms-all:latest खींचता है।
कोड को क्लिपबोर्ड पर कॉपी करें
In PowerShell:
कोड को क्लिपबोर्ड पर कॉपी करें
कोड को क्लिपबोर्ड पर कॉपी करें
2. सेटअप प्रश्नों के उत्तर दें
इंस्टॉलर निम्नलिखित पूछता है (किसी सुझाव को स्वीकार करने के लिए Enter दबाएँ, हर उत्तर को बाद में फ़ाइल में बदला जा सकता है):
- वह डोमेन जिस पर Intlayer सर्व किया जाता है।
localhostपर बने रहने के लिए इसे खाली छोड़ दें।example.orgजैसे डोमेन के साथ, यह डैशबोर्ड के लिएhttps://cms.example.org, API के लिएhttps://back.example.orgऔर ऑब्जेक्ट स्टोरेज के लिएhttps://s3.example.org/intlayerसुझाता है, औरDOMAIN,APP_URL,BACKEND_URLतथाS3_PUBLIC_URLलिखता है। आगे के चरणों के लिए कस्टम डोमेन देखें। - मेलर: Resend (API कुंजी) या एक SMTP रिले (होस्ट, पोर्ट, क्रेडेंशियल), साथ ही प्रेषक का पता। इसे छोड़ा जा सकता है और बाद में हाथ से किया जा सकता है।
- AI सुविधाओं के लिए एक वैकल्पिक OpenAI API कुंजी।
टर्मिनल के बिना (उदाहरण के लिए जब स्क्रिप्ट CI से चलाई जाती है), प्रश्न छोड़ दिए जाते हैं और केवल रहस्य उत्पन्न होते हैं। intlayer.env खोलें और Resend या SMTP हाथ से भरें (विवरण के लिए ग्लोबल मेलर देखें):
कोड को क्लिपबोर्ड पर कॉपी करें
3. चलाएं
यह इंस्टॉलर द्वारा प्रिंट किया गया रन कमांड है (कस्टम डोमेन के साथ, इससे पहले वह docker build चलता है जो intlayer/cms-all:custom बनाता है, कस्टम डोमेन देखें):
कोड को क्लिपबोर्ड पर कॉपी करें
कोड को क्लिपबोर्ड पर कॉपी करें
CLI इंस्टॉलर चलाता है जो अन्य टैब में दिखाए गए docker run … कमांड को प्रिंट करता है। मेलर को कॉन्फ़िगर करने के बाद इसे अपने टर्मिनल में पेस्ट करें।
http://localhost:3000 (या अपना डैशबोर्ड URL) खोलें और प्रथम-रन सेटअप का पालन करें। पहला बूट प्रतिकृति सेट और बकेट को इनिशियलाइज़ करता है, इसलिए इसे एक मिनट का समय दें।
बैकअप और अपग्रेड
सभी स्थिति intlayer-data वॉल्यूम (/data/mongo, /data/redis, /data/minio) में रखी जाती है।
कोड को क्लिपबोर्ड पर कॉपी करें
अपग्रेड करने के लिए, इंस्टॉलर को फिर से चलाएं (यह नवीनतम इमेज खींचता है और intlayer.env रखता है), फिर docker rm -f intlayer चलाएं और स्टार्ट कमांड को फिर से चलाएं। बंडल किए गए के बजाय प्रबंधित MongoDB का उपयोग करने के लिए, intlayer.env में MONGODB_URI सेट करें।
एक निजी Compose नेटवर्क पर प्रति सेवा एक कंटेनर। डैशबोर्ड और API प्रकाशित intlayer/cms-frontend और intlayer/cms-backend इमेज का उपयोग करते हैं; डेटास्टोर आधिकारिक mongo, redis और minio इमेज का उपयोग करते हैं।
कोड को क्लिपबोर्ड पर कॉपी करें
सभी डेटा सामग्री को स्पष्ट रूप से देखने के लिए तालिका को मोडल में खोलें
| सेवा | इमेज | भूमिका |
|---|---|---|
app | intlayer/cms-frontend | :3000 पर डैशबोर्ड; बैकएंड के स्वस्थ होने की प्रतीक्षा करता है |
backend | intlayer/cms-backend | Chromium के साथ :3100 पर API; Mongo, Redis और MinIO बकेट की प्रतीक्षा करता है |
mongo | mongo:8 | एकल-नोड प्रतिकृति सेट rs0, अपने स्वयं के स्वास्थ्य परीक्षण द्वारा प्रारंभ किया गया |
redis | redis:8-alpine | कतारें और कैशिंग, केवल-जोड़ें (append-only) दृढ़ता |
minio | quay.io/minio/minio | :9000 पर S3 स्टोरेज, :9001 पर कंसोल |
minio-init | quay.io/minio/mc | वन-शॉट: बकेट और उसकी अज्ञात डाउनलोड नीति बनाता है |
डेटा intlayer_mongo-data, intlayer_redis-data और intlayer_minio-data वॉल्यूम में संग्रहीत किया जाता है। सेवा कनेक्शन (MONGODB_URI, REDIS_URL, S3_ENDPOINT, सर्वर-साइड रेंडरिंग के लिए आंतरिक बैकएंड URL) compose फ़ाइल में तय होते हैं और .env पर प्राथमिकता लेते हैं, जो केवल रहस्यों और वैकल्पिक एकीकरणों को रखता है।
पूर्वापेक्षाएँ
- Docker ≥ 24 (Compose प्लगइन के साथ): इंस्टॉलर इसे Linux और macOS पर स्थापित करने की पेशकश करता है। Windows पर, पहले Docker Desktop (WSL 2 बैकएंड) स्थापित करें।
- होस्ट पर पोर्ट
3000,3100,9000और9001खाली होने चाहिए। - एक मेलर: Resend API कुंजी या एक SMTP रिले।
1. इंस्टॉल करें
उत्पन्न रहस्यों के साथ docker-compose.yml और एक .env को ./intlayer/ में लिखता है, ऑल-इन-वन मोड वाले ही सेटअप प्रश्न (डोमेन, मेलर, OpenAI कुंजी) पूछता है, और इमेज खींचता है।
कोड को क्लिपबोर्ड पर कॉपी करें
Or by hand:
कोड को क्लिपबोर्ड पर कॉपी करें
In PowerShell:
कोड को क्लिपबोर्ड पर कॉपी करें
Or by hand:
कोड को क्लिपबोर्ड पर कॉपी करें
कोड को क्लिपबोर्ड पर कॉपी करें
2. मेलर कॉन्फ़िगर करें
यदि आपने मेलर वाला प्रश्न छोड़ दिया था, तो ऑल-इन-वन कंटेनर की तरह ही intlayer/.env में Resend या SMTP भरें (ग्लोबल मेलर देखें)।
3. चलाएं
कोड को क्लिपबोर्ड पर कॉपी करें
कस्टम डोमेन के साथ, इंस्टॉलर docker-compose.build.yml भी डाउनलोड करता है और स्टार्ट कमांड docker compose -f docker-compose.yml -f docker-compose.build.yml up -d --build बन जाता है (कस्टम डोमेन देखें)।
http://localhost:3000 (या अपना डैशबोर्ड URL) खोलें और प्रथम-रन सेटअप का पालन करें।
प्रबंधित डेटास्टोर
आप जिस सेवा को बदल रहे हैं उसे compose फ़ाइल से (और backend पर इसकी depends_on प्रविष्टि) हटा दें, और संबंधित चर को ओवरराइड करें:
कोड को क्लिपबोर्ड पर कॉपी करें
S3_ACCESS_KEY_ID / S3_SECRET_ACCESS_KEY / S3_BUCKET_NAME किसी भी S3-संगत प्रदाता के खिलाफ काम करते हैं।
स्केलिंग
app और backend स्टेटलेस हैं। लोड बैलेंसर के पीछे, निश्चित होस्ट पोर्ट मैपिंग को हटाने और सेवा नाम द्वारा प्रॉक्सी रूटिंग के साथ, docker compose up -d --scale backend=3 काम करता है। पृष्ठभूमि कार्य Redis (BullMQ) के माध्यम से समन्वित होते हैं, इसलिए कई बैकएंड प्रतिकृतियां सुरक्षित रूप से कतारें साझा करती हैं।
स्रोत से निर्माण
एक ओवरराइड दो Intlayer सेवाओं को image: से build: पर स्विच करता है। रिपॉजिटरी क्लोन से:
कोड को क्लिपबोर्ड पर कॉपी करें
क्लोन के बिना, .env में INTLAYER_BUILD_CONTEXT=https://github.com/aymericzip/intlayer.git#main सेट करके बिल्ड कॉन्टेक्स्ट को सीधे रिपॉजिटरी पर इंगित करें। डैशबोर्ड के VITE_* बिल्ड आर्ग्स उसी फ़ाइल के DOMAIN, APP_URL और BACKEND_URL का अनुसरण करते हैं, और इसी तरह एक कस्टम डोमेन लागू किया जाता है।
बैकअप और अपग्रेड
कोड को क्लिपबोर्ड पर कॉपी करें
इंस्टॉलर सेटिंग्स
--mode (या INTLAYER_MODE) के बिना, इंस्टॉलर एक मेनू का संकेत देता है: desktop, docker (ऑल-इन-वन) या compose। यह कुछ पर्यावरण चर भी पढ़ता है; इन्हें curl के बजाय शेल में पास करें क्योंकि यह पाइप किया गया है:
कोड को क्लिपबोर्ड पर कॉपी करें
कोड को क्लिपबोर्ड पर कॉपी करें
सभी डेटा सामग्री को स्पष्ट रूप से देखने के लिए तालिका को मोडल में खोलें
| Variable | Default | Applies to | Description |
|---|---|---|---|
INTLAYER_MODE | (asked) | all | desktop, docker or compose, same as --mode |
INTLAYER_DOWNLOAD_DIR | ~/Downloads | desktop | Where the app installer is saved |
INTLAYER_IMAGE | intlayer/cms-all:latest | docker | All-in-one image to pull |
INTLAYER_ENV_FILE | ./intlayer.env | docker | Where to write the environment file |
INTLAYER_CONTAINER_NAME | intlayer | docker | Container name |
INTLAYER_DATA_VOLUME | intlayer-data | docker | Named volume mounted at /data |
INTLAYER_APP_PORT | 3000 | docker | Host port for the dashboard |
INTLAYER_API_PORT | 3100 | docker | Host port for the API |
INTLAYER_S3_PORT | 9000 | docker | Host port for the MinIO S3 API |
INTLAYER_CONSOLE_PORT | 9001 | docker | Host port for the MinIO console |
INTLAYER_COMPOSE_DIR | ./intlayer | compose | Where docker-compose.yml and .env are written |
INTLAYER_SELFHOST_REF | main | both | Git ref the compose file and env template are fetched from |
INTLAYER_BUILD_CONTEXT | …/intlayer.git#main | both | Build context used when a custom domain requires a rebuild |
INTLAYER_CUSTOM_IMAGE | intlayer/cms-all:custom | docker | Tag of the all-in-one image built for a custom domain |
पोर्ट चर मैपिंग के केवल होस्ट पक्ष को बदलते हैं। प्रकाशित इमेज मेंhttp://localhost:3000,http://localhost:3100औरhttp://localhost:9000डैशबोर्ड बंडल में संकलित होते हैं, इसलिए जब तक आप अपनी खुद की इमेज नहीं बनाते, तब तक डिफ़ॉल्ट रखें, सीमाएँ देखें।
प्रथम-रन सेटअप
एक नए इंस्टेंस (खाली डेटाबेस) पर डैशबोर्ड खोलने पर स्वचालित रूप से /init पर पुनर्निर्देशित किया जाएगा:
- पहला खाता बनाएं। चूंकि उपयोगकर्ता संग्रह खाली है, इसलिए यह खाता स्वचालित रूप से सुपर एडमिन में पदोन्नत हो जाता है।
- आपके Resend या SMTP रिले के माध्यम से एक सत्यापन ईमेल भेजा जाता है। ईमेल सत्यापन अनिवार्य है, यही कारण है कि शुरू करने से पहले एक मेलर कॉन्फ़िगर किया जाना चाहिए।
- ईमेल में दिए गए लिंक पर क्लिक करें और साइन इन करें।
एक बार व्यवस्थापक मौजूद होने के बाद, /init सामान्य साइन-इन पृष्ठ पर पुनर्निर्देशित करता है।
पर्यावरण चर
दोनों Docker मोड docker/selfhost/.env.template से उत्पन्न एक ही फ़ाइल (कंटेनर के लिए intlayer.env, Compose के लिए .env) पढ़ते हैं।
आवश्यक
सभी डेटा सामग्री को स्पष्ट रूप से देखने के लिए तालिका को मोडल में खोलें
| Variable | Example | Description |
|---|---|---|
BETTER_AUTH_SECRET | (generated) | 32-byte secret for session signing |
S3_SECRET_ACCESS_KEY | (generated) | Secret for the bundled MinIO |
RESEND_API_KEY | (your key) | Transactional email via Resend. Required for first-run setup unless an SMTP relay is configured instead (see Global mailer) |
परिनियोजन द्वारा तय
ये इमेज (ऑल-इन-वन) या compose फ़ाइल द्वारा सेट किए जाते हैं, और इन्हें केवल गैर-मानक टोपोलॉजी के लिए ओवरराइड करने की आवश्यकता होती है। DOMAIN, APP_URL, BACKEND_URL और S3_PUBLIC_URL इसके अपवाद हैं: env फ़ाइल में सेट होने पर, ये दोनों मोड में प्राथमिकता लेते हैं (कस्टम डोमेन देखें)।
सभी डेटा सामग्री को स्पष्ट रूप से देखने के लिए तालिका को मोडल में खोलें
| Variable | All-in-one | Docker Compose | Description |
|---|---|---|---|
PORT | 3100 | 3100 | Backend listening port |
APP_URL | http://localhost:3000 | http://localhost:3000 | Public URL of the dashboard |
BACKEND_URL | http://localhost:3100 | http://localhost:3100 | Public URL of the backend API |
DOMAIN | localhost | localhost | Cookie domain |
SELF_HOSTED | true | true | Disables the cloud-only API endpoints (billing, subscriptions, marketplace) |
MONGODB_URI | mongodb://127.0.0.1:27017/intlayer?replicaSet=rs0 | mongodb://mongo:27017/… | MongoDB connection string, any mongodb:// or mongodb+srv:// cluster works |
REDIS_URL | redis://127.0.0.1:6379 | redis://redis:6379 | Redis |
S3_ENDPOINT | http://127.0.0.1:9000 | http://minio:9000 | MinIO (server-to-server) |
S3_PUBLIC_URL | http://localhost:9000/intlayer | http://localhost:9000/intlayer | Public URL for browser asset loading |
S3_BUCKET_NAME | intlayer | intlayer | Bucket name |
S3_ACCESS_KEY_ID | intlayer | intlayer | MinIO access key |
Compose app सेवा अतिरिक्त रूप से INTLAYER_BACKEND_INTERNAL_URL=http://backend:3100 प्राप्त करती है: ब्राउज़र localhost:3100 पर API तक पहुँचता है, लेकिन सर्वर-साइड रेंडरिंग Compose नेटवर्क के अंदर चलती है और इसलिए इसे सेवा नाम का उपयोग करना चाहिए।
कस्टम डोमेन
बैकएंड अपने सार्वजनिक URL रनटाइम पर पढ़ता है, लेकिन डैशबोर्ड में वे कंपाइल किए हुए होते हैं: प्रकाशित intlayer/cms-frontend और intlayer/cms-all इमेज केवल http://localhost:3000 पर काम करती हैं। इसलिए अपने डोमेन पर Intlayer सर्व करने के लिए दो चीज़ों की आवश्यकता होती है, और डोमेन वाले प्रश्न का उत्तर देने पर इंस्टॉलर दोनों तैयार करता है:
env फ़ाइल में चार वेरिएबल, जिन्हें बैकएंड पढ़ता है (कुकीज़, ईमेल लिंक, OAuth कॉलबैक, एसेट URL) और जिन्हें
docker-compose.build.ymlबिल्ड आर्ग्स के रूप में उपयोग करता है:intlayer.envकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
उन URL के साथ बनाई गई डैशबोर्ड इमेज। Docker इसे सीधे रिपॉजिटरी से बनाता है, क्लोन की आवश्यकता नहीं:
shकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
फिर कंटेनर के सामने TLS के साथ एक रिवर्स प्रॉक्सी लगाएँ: cms.example.org → पोर्ट 3000, back.example.org → 3100, s3.example.org → 9000। तीनों होस्ट को DOMAIN प्रत्यय साझा करना होगा, क्योंकि सेशन कुकी उसी तक सीमित है।
वैकल्पिक (अनुपस्थित होने पर सुविधाएं सुचारू रूप से कार्य करती हैं)
सभी डेटा सामग्री को स्पष्ट रूप से देखने के लिए तालिका को मोडल में खोलें
| Variable | Feature |
|---|---|
OPENAI_API_KEY | AI-assisted translation and content audit |
GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET | GitHub OAuth login |
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET | Google OAuth login |
GITLAB_CLIENT_ID, GITLAB_CLIENT_SECRET | GitLab OAuth login |
MICROSOFT_CLIENT_ID, MICROSOFT_CLIENT_SECRET | Microsoft OAuth login |
ग्लोबल मेलर
पासवर्ड रीसेट और मैजिक लिंक जैसे गैर-संगठन ईमेल सहित सभी लेन-देन संबंधी ईमेल दो वैश्विक ट्रांसपोर्ट में से एक से होकर गुजरते हैं:
- Resend:
RESEND_API_KEYका उपयोग करके। - SMTP:
MAIL_SMTP_*चरों का उपयोग करके। जैसे हीMAIL_SMTP_HOSTसेट होता है, SMTP का उपयोग किया जाता है औरRESEND_API_KEYको अनदेखा कर दिया जाता है।
MAIL_PROVIDER केवल तभी आवश्यक होता है जब दोनों कॉन्फ़िगर होने पर किसी एक ट्रांसपोर्ट को बाध्य करना हो (उदाहरण के लिए SMTP होस्ट मौजूद होने पर Resend रखने के लिए MAIL_PROVIDER=resend)।
सभी डेटा सामग्री को स्पष्ट रूप से देखने के लिए तालिका को मोडल में खोलें
| Variable | Example | Description |
|---|---|---|
MAIL_FROM | Intlayer <no-reply@acme.com> | Sender header for either transport. Accepts a bare address or Name <email> |
MAIL_SMTP_HOST | smtp.acme.com | SMTP host. Setting it selects the SMTP transport |
MAIL_SMTP_PORT | 587 | SMTP port (defaults to 587) |
MAIL_SMTP_SECURE | false | Implicit TLS. Set true for port 465 |
MAIL_SMTP_USER | (your user) | SMTP username (optional; omit for unauthenticated relays) |
MAIL_SMTP_PASSWORD | (your password) | SMTP password |
MAIL_PROVIDER | resend | Optional override: smtp or resend. Leave unset to auto-select |
प्राथमिकता क्रम: किसी संगठन का अपना मेलर (संगठन डैशबोर्ड से कॉन्फ़िगर किया गया) ग्लोबल मेलर को ओवरराइड करता है, और ग्लोबल मेलर डिफ़ॉल्ट Resend कुंजी को ओवरराइड करता है।
अपने Intlayer प्रोजेक्ट को कनेक्ट करना
एक बार स्टैक चलने के बाद, अपने प्रोजेक्ट को intlayer.org के बजाय अपने सेल्फ-होस्टेड बैकएंड और डैशबोर्ड की ओर इंगित करने के लिए कॉन्फ़िगर करें।
प्रोजेक्ट कॉन्फ़िगरेशन
कोड को क्लिपबोर्ड पर कॉपी करें
import type { IntlayerConfig } from "intlayer";
const config: IntlayerConfig = {
editor: {
clientId: process.env.INTLAYER_CLIENT_ID,
clientSecret: process.env.INTLAYER_CLIENT_SECRET,
/**
* URL of the self-hosted CMS dashboard.
* Default: https://app.intlayer.org
*/
cmsURL: process.env.INTLAYER_CMS_URL, // e.g. http://localhost:3000
/**
* URL of the self-hosted backend API.
* Default: https://back.intlayer.org
*/
backendURL: process.env.INTLAYER_BACKEND_URL, // e.g. http://localhost:3100
},
};
export default config;
Set the environment variables in your project's .env:
कोड को क्लिपबोर्ड पर कॉपी करें
अपने सेल्फ-होस्टेड डैशबोर्ड में प्रोजेक्ट्स → एक्सेस कुंजियाँ (http://localhost:3000/projects) पर एक्सेस क्रेडेंशियल बनाएं।
@intlayer/api SDK
प्रोग्रामेटिक रूप से @intlayer/api SDK का उपयोग करते समय, backendURL को स्पष्ट रूप से पास करें:
कोड को क्लिपबोर्ड पर कॉपी करें
सीमाएँ
- कस्टम डोमेन का अर्थ है पुनर्निर्माण। सभी ब्राउज़र-सामना करने वाले
VITE_*URL निर्माण के समय डैशबोर्ड में इनलाइन होते हैं, और प्रकाशित इमेज (और डेस्कटॉप ऐप)localhost/ Intlayer Cloud मानों के साथ आते हैं। डिफ़ॉल्ट रूप से डैशबोर्ड कोhttp://localhost:3000पर, API को:3100पर और MinIO को:9000पर एक्सेस किया जाना चाहिए; होस्ट पोर्ट को रीमैप करने का भी यही प्रभाव होता है। जब आप डोमेन देते हैं तो इंस्टॉलर रिपॉजिटरी से पुनर्निर्माण के लिए सब कुछ तैयार कर देता है (कस्टम डोमेन देखें), लेकिन बिल्ड में स्वयं कई मिनट लगते हैं। डेस्कटॉप ऐप को सेल्फ-होस्टेड बैकएंड पर इंगित करना समर्थित नहीं है। - ईमेल के लिए एक कार्यशील मेलर की आवश्यकता होती है। प्रथम-रन सेटअप ईमेल सत्यापन लागू करता है, इसलिए या तो
RESEND_API_KEYया SMTP रिले (MAIL_SMTP_*) कॉन्फ़िगर किया जाना चाहिए। पहले एडमिन के साइन इन करने के बाद, प्रत्येक संगठन डैशबोर्ड से अपना स्वयं का SMTP या Resend मेलर भी कॉन्फ़िगर कर सकता है। - डेस्कटॉप ऐप को अपने एम्बेडेड सर्वर को शुरू करने के लिए मशीन पर Node.js की आवश्यकता होती है।
- कोई डॉक्यूमेंटेशन असिस्टेंट नहीं। intlayer.org का AI डॉक असिस्टेंट (
/api/ai/ask,/api/search/doc) लगभग 130 MB के पूर्व-गणना किए गए डॉक्यूमेंटेशन एम्बेडिंग पर निर्भर करता है जो सेल्फ-होस्ट इमेज में शामिल नहीं होते; इसलिए सेल्फ-होस्टेड मोड में ये दो रूट पंजीकृत नहीं होते। डैशबोर्ड की अपनी AI सुविधाएँ (अनुवाद, ऑडिट, ऑटोकम्प्लीट, चैट) अप्रभावित रहती हैं और उन्हें केवलOPENAI_API_KEYकी आवश्यकता होती है।
उपयोगी लिंक्स
- Intlayer CMS दस्तावेज़
- कॉन्फ़िगरेशन संदर्भ
- CMS SDK:
@intlayer/api - डेस्कटॉप ऐप रिलीज़
- Docker Hub:
intlayer/cms-all,intlayer/cms-frontend,intlayer/cms-backend, GHCR मिरर:ghcr.io/aymericzip/intlayer/ docker/selfhost/: Dockerfile,docker-compose.yml,.env.template
