---
sidebar_label: तैनाती (Deployment)
title: AI Short तैनाती (Deployment) गाइड - Vercel और Docker के लिए
description: AI Short को आसानी से तैनात करें - Vercel, Docker और Cloudflare का समर्थन। सेटअप और ऑटो-अपडेट गाइड।
---

# परियोजना तैनाती

## कॉन्फ़िगरेशन और अनुकूलन

AI Short एक ओपन-सोर्स प्रोजेक्ट है, जो आपको अपनी आवश्यकताओं के अनुसार साइट के शीर्षक, विवरण और प्रॉम्प्ट को संशोधित करने की अनुमति देता है। नीचे सामान्य संशोधन विकल्प और निर्देश दिए गए हैं:

- **साइट का शीर्षक और विवरण संशोधित करें**
  साइट के शीर्षक और विवरण को बदलने के लिए, कृपया `docusaurus.config.js` कॉन्फ़िगरेशन फ़ाइल को संपादित करें।

- **परियोजना निर्देश और परिचय संशोधित करें**
  परियोजना के उपयोग निर्देश और परिचय फ़ाइलें `docs` निर्देशिका में स्थित हैं। आवश्यक परिवर्तन करने के लिए इस निर्देशिका में संबंधित फ़ाइलें खोलें।

- **होमपेज प्रॉम्प्ट संशोधित करें**
  होमपेज प्रॉम्प्ट `src/data/prompt.json` फ़ाइल में संग्रहीत हैं। यदि आपको किसी विशिष्ट भाषा (जैसे हिंदी) के लिए प्रॉम्प्ट संशोधित करने की आवश्यकता है, तो आप सीधे `src/data/prompt_hi.json` फ़ाइल को संपादित कर सकते हैं। नए प्रॉम्प्ट जोड़ते समय, प्रारूप इस प्रकार है:

  ```json
  {
    "hi": {
      "title": "custom prompt",
      "prompt": "custom prompt",
      "description": "custom description",
      "remark": "custom mark"
    },
    "website": null,
    "tags": ["music"],
    "id": 500,
    "weight": 1
  }
  ```

  **नोट**: `id` को 500 से ऊपर सेट करने की अनुशंसा की जाती है। नए प्रॉम्प्ट का अपना समर्पित पृष्ठ और टिप्पणी अनुभाग नहीं होगा। यदि आपको प्रॉम्प्ट के लिए एक समर्पित पृष्ठ जोड़ने की आवश्यकता है, तो आप `src/data/pages/prompt` निर्देशिका में टेम्पलेट फ़ाइल को कॉपी और संशोधित कर सकते हैं।

- **कस्टम बैकएंड**
  वर्तमान प्रोजेक्ट एक साझा बैकएंड सिस्टम से जुड़ा हुआ है। यदि आप अपना स्वयं का बैकएंड स्थापित करना चाहते हैं, तो कृपया `src/api` फ़ोल्डर में इंटरफ़ेस निर्देश देखें।

  API मॉड्यूल संरचना:

  ```
  src/api/
  ├── index.ts       # एकीकृत निर्यात प्रविष्टि
  ├── config.ts      # API URL कॉन्फ़िगरेशन
  ├── client.ts      # Axios क्लाइंट (प्रमाणीकरण इंटरसेप्टर के साथ)
  ├── auth.ts        # प्रमाणीकरण API (लॉगिन/रजिस्टर/OAuth)
  ├── prompts.ts     # प्रॉम्प्ट CRUD + खोज + वोटिंग
  ├── favorites.ts   # पसंदीदा संचालन
  ├── myspace.ts     # मेरा स्पेस डेटा (कोर डेटा स्रोत)
  ├── comments.ts    # टिप्पणी प्रणाली
  └── user.ts        # उपयोगकर्ता जानकारी
  ```

  **कैशिंग तंत्र**: प्रोजेक्ट बुद्धिमान कैशिंग के लिए ETag के साथ संयुक्त `lscache` का उपयोग करता है। जब सर्वर 304 Not Modified लौटाता है, तो स्थानीय कैश डेटा का सीधे पुन: उपयोग किया जाता है, जिससे डेटा ट्रांसमिशन कम हो जाता है।

- **बहु-भाषा समर्थन और तैनाती**
  बहु-भाषा संशोधन पूरा करने के बाद, आप बैच प्रोसेसिंग के लिए `CodeUpdateHandler.py` स्क्रिप्ट का उपयोग कर सकते हैं। निम्नलिखित कमांड चलाएँ:

  ```bash
  python CodeUpdateHandler.py
  ```

  यह स्क्रिप्ट पूर्वनिर्धारित नियमों के अनुसार `prompt.json` फ़ाइल को विभाजित करेगी और प्रत्येक भाषा संस्करण के लिए मुख्य पृष्ठ और विशेष रुप से प्रदर्शित प्रॉम्प्ट पृष्ठों के अपडेट सिंक करेगी।

## तैनाती निर्देश

सिस्टम आवश्यकताएँ:

- [Node.js 20.0](https://nodejs.org/) या बाद का संस्करण।
- macOS, Windows (WSL सहित), और Linux समर्थित हैं।

### स्थानीय तैनाती

सुनिश्चित करें कि आपने [Node.js](https://nodejs.org/) स्थापित किया है।

```shell
# स्थापना
yarn

# स्थानीय विकास
yarn start

# बिल्ड: यह कमांड `build` निर्देशिका में स्थिर सामग्री उत्पन्न करता है
yarn build

# `docusaurus.config.js` फ़ाइल में `defaultLocale` को अपडेट करें, फिर वांछित भाषा के लिए बिल्ड करें।
yarn build --locale zh-Hans
yarn build --locale zh-Hant
yarn build --locale en
yarn build --locale ja
yarn build --locale ko
yarn build --locale es
yarn build --locale fr
yarn build --locale de
yarn build --locale it
yarn build --locale ru
yarn build --locale pt
yarn build --locale hi
yarn build --locale ar
yarn build --locale bn

# कई भाषाओं के लिए तैनात करें
yarn build --locale zh-Hans && yarn build --locale en
```

### Vercel तैनाती

ChatGPT-Shortcut को Vercel प्लेटफ़ॉर्म पर एक क्लिक में तैनात करने के लिए नीचे दिए गए बटन पर क्लिक करें:

[![Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Frockbenben%2FChatGPT-Shortcut%2Ftree%2Fmain)

**नोट**: Vercel का मुफ़्त संस्करण अपर्याप्त मेमोरी के कारण विफल हो सकता है। यदि आप इस स्थिति का सामना करते हैं, तो आप एकल-भाषा तैनाती चुन सकते हैं। विशिष्ट ऑपरेशन इस प्रकार हैं:

1. अभी तैनात Vercel प्रोजेक्ट में प्रवेश करें और **Settings** खोलें।
2. **Build & Deployment** अनुभाग में, **Build Command** खोजें, और दाईं ओर **Override** पर क्लिक करें।
3. तैनाती कमांड को संशोधित करें। उदाहरण के लिए, यदि आपको चीनी संस्करण तैनात करने की आवश्यकता है, तो `yarn build --locale zh-Hans` का उपयोग करें; यदि आपको हिंदी संस्करण तैनात करने की आवश्यकता है, तो `yarn build --locale hi` का उपयोग करें।

### Cloudflare Pages तैनाती

नीचे दिए गए बटन या लिंक पर क्लिक करें, इस प्रोजेक्ट को Fork करें, और Cloudflare Pages पर तैनात करने के लिए निर्देशों का पालन करें:

👉 [इस प्रोजेक्ट को Fork करें](https://github.com/rockbenben/ChatGPT-Shortcut/fork)

तैनाती के चरण:

1. [Cloudflare Pages](https://pages.cloudflare.com/) में लॉग इन करें, और **"Create a project"** चुनें।
2. उस रिपॉजिटरी को बाइंड करें जिसे आपने अभी Fork किया है।
3. बिल्ड कमांड कॉन्फ़िगर करें:
   - **Build command**: `yarn build --locale zh-Hans` (तैनात की जाने वाली भाषा के अनुसार उपयुक्त locale चुनें, उदाहरण के लिए: हिंदी के लिए `yarn build --locale hi` का उपयोग करें)।
   - **Output directory**: `build`।
4. **Deploy** पर क्लिक करें, और Cloudflare Pages द्वारा बिल्ड और तैनाती पूरी होने की प्रतीक्षा करें।

Cloudflare Pages हर बार जब आप नया कोड पुश करते हैं तो स्वचालित रूप से बिल्ड और तैनाती को ट्रिगर करेगा।

### Docker तैनाती

यदि आप Docker से परिचित हैं, तो आप निम्नलिखित कमांड का उपयोग करके जल्दी से तैनात कर सकते हैं:

```bash
# ghcr.io
docker run -d -p 3000:3000 --name chatgpt-shortcut ghcr.io/rockbenben/chatgpt-shortcut:latest

# docker hub
docker run -d -p 3000:3000 --name chatgpt-shortcut rockben/chatgpt-shortcut:latest
```

या, आप `docker-compose` का उपयोग कर सकते हैं:

```yml
services:
  chatgpt-shortcut:
    container_name: chatgpt-shortcut
    image: ghcr.io/rockbenben/chatgpt-shortcut:latest
    ports:
      - "3000:3000"
    restart: unless-stopped
```

## स्वचालित अपडेट सक्षम करें

यदि आपने Vercel पर एक क्लिक के साथ अपना प्रोजेक्ट तैनात किया है, तो आपको एक समस्या का सामना करना पड़ सकता है जहाँ यह हमेशा इंगित करता है कि अपडेट उपलब्ध हैं। ऐसा इसलिए है क्योंकि Vercel डिफ़ॉल्ट रूप से आपके लिए एक नया प्रोजेक्ट बनाता है, बजाय इसके कि इस प्रोजेक्ट को fork करे, जो अपडेट का सही पता लगाने से रोकता है। इन चरणों का पालन करके पुनः तैनात करने की अनुशंसा की जाती है:

1. मूल रिपॉजिटरी को हटा दें;
2. इस प्रोजेक्ट को fork करने के लिए पृष्ठ के ऊपरी दाएँ कोने में fork बटन का उपयोग करें;
3. [Vercel नया प्रोजेक्ट पृष्ठ](https://vercel.com/new) पर Import Git Repository अनुभाग में उस प्रोजेक्ट को फिर से चुनें जिसे आपने अभी fork किया है और तैनात करें।

### स्वचालित अपडेट चालू करें

> यदि आपको Upstream Sync निष्पादन त्रुटि का सामना करना पड़ता है, तो कृपया मैन्युअल रूप से एक बार Sync Fork निष्पादित करें!

प्रोजेक्ट को fork करने के बाद, GitHub प्रतिबंधों के कारण, आपको अपने fork किए गए प्रोजेक्ट के Actions पृष्ठ पर मैन्युअल रूप से Workflows को सक्षम करना होगा, और Upstream Sync Action को सक्षम करना होगा। एक बार सक्षम होने पर, अपडेट हर दिन स्वचालित रूप से निष्पादित होंगे:

![स्वचालित अपडेट](https://img.newzone.top/2023-05-19-11-57-59.png?imageMogr2/format/webp)

![स्वचालित अपडेट सक्षम करें](https://img.newzone.top/2023-05-19-11-59-26.png?imageMogr2/format/webp)

### मैन्युअल कोड अपडेट

यदि आप मैन्युअल रूप से तुरंत अपडेट करना चाहते हैं, तो आप [GitHub दस्तावेज़](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork) देख सकते हैं कि fork किए गए प्रोजेक्ट को अपस्ट्रीम कोड के साथ कैसे सिंक किया जाए।

आप इस प्रोजेक्ट को स्टार/वॉच कर सकते हैं, या समय पर नई सुविधा अपडेट सूचनाएं प्राप्त करने के लिए लेखक का अनुसरण कर सकते हैं।
