# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: LibreChat
spec:
    description: Enhanced ChatGPT Clone with many features and AI models.
    icon: https://github.com/danny-avila/LibreChat/raw/638ac5bba61a524cc4ae99711a91f19572c4f2a0/client/public/assets/logo.svg
    variables:
        - key: OPENAI_API_KEY
          type: STRING
          name: OpenAI API Key
          description: Your OpenAI API Key, required for OpenAI models like GPT-4.
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Domain
          description: The domain of your LibreChat website.
    readme: "# LibreChat\n\nEnhanced ChatGPT Clone: Features OpenAI, GPT-4 Vision, Mistral, Bing, Anthropic, OpenRouter, Google Gemini, AI model switching, message search, langchain, DALL-E-3, ChatGPT Plugins, OpenAI Functions, Secure Multi-User System, Presets, completely open-source for self-hosting.\n\n## features\n\n\U0001F5A5️ UI matching ChatGPT, including Dark mode, Streaming, and 11-2023 updates\n\n\U0001F4AC Multimodal Chat:\nUpload and analyze images with GPT-4 and Gemini Vision \U0001F4F8\nMore filetypes and Assistants API integration in Active Development \U0001F6A7\n\n\U0001F30E Multilingual UI:\nEnglish, 中文, Deutsch, Español, Français, Italiano, Polski, Português Brasileiro,\nРусский, 日本語, Svenska, 한국어, Tiếng Việt, 繁體中文, العربية, Türkçe, Nederlands\n\n\U0001F916 AI model selection: OpenAI API, Azure, BingAI, ChatGPT, Google Vertex AI, Anthropic (Claude), Plugins\n\n\U0001F4BE Create, Save, & Share Custom Presets\n\n\U0001F504 Edit, Resubmit, and Continue messages with conversation branching\n\n\U0001F4E4 Export conversations as screenshots, markdown, text, json.\n\n\U0001F50D Search all messages/conversations\n\n\U0001F50C Plugins, including web access, image generation with DALL-E-3 and more\n\n\U0001F465 Multi-User, Secure Authentication with Moderation and Token spend tools\n\n⚙️ Configure Proxy, Reverse Proxy, Docker, many Deployment options, and completely Open-Source\n"
    services:
        - name: mongodb
          icon: https://raw.githubusercontent.com/zeabur/service-icons/main/marketplace/mongodb.svg
          template: PREBUILT
          spec:
            source:
                image: mongo:7.0
                command:
                    - sh
                args:
                    - -c
                    - sed -i '10,23d' /usr/local/bin/docker-entrypoint.sh && exec docker-entrypoint.sh mongod
            ports:
                - id: database
                  port: 27017
                  type: TCP
            volumes:
                - id: data
                  dir: /data/db
            instructions:
                - title: Command to connect to your MongoDB
                  content: mongosh "mongodb://${MONGO_USERNAME}:${MONGO_PASSWORD}@${PORT_FORWARDED_HOSTNAME}:${DATABASE_PORT_FORWARDED_PORT}"
                - title: MongoDB connection string
                  content: mongodb://${MONGO_USERNAME}:${MONGO_PASSWORD}@${PORT_FORWARDED_HOSTNAME}:${DATABASE_PORT_FORWARDED_PORT}
                - title: MongoDB username
                  content: ${MONGO_USERNAME}
                - title: MongoDB password
                  content: ${MONGO_PASSWORD}
                - title: MongoDB host
                  content: ${PORT_FORWARDED_HOSTNAME}
                - title: MongoDB port
                  content: ${DATABASE_PORT_FORWARDED_PORT}
            env:
                MONGO_CONNECTION_STRING:
                    default: mongodb://${MONGO_USERNAME}:${MONGO_PASSWORD}@${MONGO_HOST}:${MONGO_PORT}
                    expose: true
                MONGO_HOST:
                    default: ${CONTAINER_HOSTNAME}
                    expose: true
                MONGO_INITDB_ROOT_PASSWORD:
                    default: ${PASSWORD}
                MONGO_INITDB_ROOT_USERNAME:
                    default: mongo
                MONGO_PASSWORD:
                    default: ${MONGO_INITDB_ROOT_PASSWORD}
                    expose: true
                MONGO_PORT:
                    default: ${DATABASE_PORT}
                    expose: true
                MONGO_URI:
                    default: ${MONGO_CONNECTION_STRING}
                    expose: true
                MONGO_USERNAME:
                    default: ${MONGO_INITDB_ROOT_USERNAME}
                    expose: true
        - name: meilisearch
          icon: https://www.meilisearch.com/favicon.svg
          template: PREBUILT
          spec:
            source:
                image: getmeili/meilisearch
            ports:
                - id: web
                  port: 7700
                  type: HTTP
            volumes:
                - id: data
                  dir: /meili_data
            instructions:
                - title: Meilisearch Master Key
                  content: ${MEILI_MASTER_KEY}
            env:
                MEILI_MASTER_KEY:
                    default: ${PASSWORD}
                    expose: true
        - name: postgresql
          icon: https://raw.githubusercontent.com/zeabur/service-icons/main/marketplace/postgresql.svg
          template: PREBUILT
          spec:
            source:
                image: pgvector/pgvector:pg16
            ports:
                - id: database
                  port: 5432
                  type: TCP
            volumes:
                - id: data
                  dir: /var/lib/postgresql/data
            instructions:
                - title: Connection String
                  content: postgresql://${POSTGRES_USERNAME}:${POSTGRES_PASSWORD}@${PORT_FORWARDED_HOSTNAME}:${DATABASE_PORT_FORWARDED_PORT}/${POSTGRES_DATABASE}
                - title: PostgreSQL Connect Command
                  content: psql "postgresql://${POSTGRES_USERNAME}:${POSTGRES_PASSWORD}@${PORT_FORWARDED_HOSTNAME}:${DATABASE_PORT_FORWARDED_PORT}/${POSTGRES_DATABASE}"
                - title: PostgreSQL username
                  content: ${POSTGRES_USERNAME}
                - title: PostgresSQL password
                  content: ${POSTGRES_PASSWORD}
                - title: PostgresSQL database
                  content: ${POSTGRES_DATABASE}
                - title: PostgreSQL host
                  content: ${PORT_FORWARDED_HOSTNAME}
                - title: PostgreSQL port
                  content: ${DATABASE_PORT_FORWARDED_PORT}
            env:
                PGDATA:
                    default: /var/lib/postgresql/data/pgdata
                POSTGRES_CONNECTION_STRING:
                    default: postgresql://${POSTGRES_USERNAME}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DATABASE}
                    expose: true
                POSTGRES_DATABASE:
                    default: ${POSTGRES_DB}
                    expose: true
                POSTGRES_DB:
                    default: mydatabase
                POSTGRES_HOST:
                    default: ${CONTAINER_HOSTNAME}
                    expose: true
                POSTGRES_PASSWORD:
                    default: mypassword
                    expose: true
                POSTGRES_PORT:
                    default: ${DATABASE_PORT}
                    expose: true
                POSTGRES_URI:
                    default: ${POSTGRES_CONNECTION_STRING}
                    expose: true
                POSTGRES_USER:
                    default: myuser
                POSTGRES_USERNAME:
                    default: ${POSTGRES_USER}
                    expose: true
        - name: rag-api
          icon: https://github.com/danny-avila/LibreChat/raw/638ac5bba61a524cc4ae99711a91f19572c4f2a0/client/public/assets/logo.svg
          template: PREBUILT
          spec:
            source:
                image: ghcr.io/danny-avila/librechat-rag-api-dev-lite:latest
            ports:
                - id: rag-api
                  port: 8000
                  type: HTTP
            env:
                DB_HOST:
                    default: ${POSTGRES_HOST}
                RAG_PORT:
                    default: "8000"
        - name: librechat
          icon: https://github.com/danny-avila/LibreChat/raw/638ac5bba61a524cc4ae99711a91f19572c4f2a0/client/public/assets/logo.svg
          template: PREBUILT
          spec:
            source:
                image: ghcr.io/danny-avila/librechat-dev-api:latest
            ports:
                - id: api
                  port: 3080
                  type: HTTP
            volumes:
                - id: images
                  dir: /app/client/public/images
            env:
                ALLOW_REGISTRATION:
                    default: "true"
                CREDS_IV:
                    default: e2341419ec3dd3d19b13a1a87fafcbfb
                CREDS_KEY:
                    default: f34be427ebb29de8d88c107a71546019685ed8b241d8f2ed00c3df97ad2566f0
                HOST:
                    default: 0.0.0.0
                JWT_REFRESH_SECRET:
                    default: jwt-refresh-secret
                JWT_SECRET:
                    default: secret
                JWT_SECRET_KEY:
                    default: jwt-secret-key
                MEILI_HOST:
                    default: http://meilisearch:7700
                MONGO_URI:
                    default: ${MONGO_CONNECTION_STRING}
                NODE_ENV:
                    default: production
                RAG_API_URL:
                    default: http://rag-api:8000
                RAG_PORT:
                    default: "8000"
            configs:
                - path: /app/librechat.yaml
                  template: |
                    # For more information, see the Configuration Guide:
                    # https://www.librechat.ai/docs/configuration/librechat_yaml
                    version: 1.1.5
                    cache: true
                    interface:
                      privacyPolicy:
                        externalUrl: 'https://librechat.ai/privacy-policy'
                        openNewTab: true
                      termsOfService:
                        externalUrl: 'https://librechat.ai/tos'
                        openNewTab: true
                    registration:
                      socialLogins: ['github', 'google', 'discord', 'openid', 'facebook']
                  permission: null
                  envsubst: null
          domainKey: PUBLIC_DOMAIN
localization:
    es-ES:
        description: Clon mejorado de ChatGPT con muchas características y modelos de IA.
        readme: "# LibreChat\n\nClon mejorado de ChatGPT: presenta OpenAI, GPT-4 Vision, Mistral, Bing, Anthropic, OpenRouter, Google Gemini, cambio de modelo de IA, búsqueda de mensajes, langchain, DALL-E-3, complementos de ChatGPT, funciones de OpenAI, sistema seguro multiusuario, presets, completamente de código abierto para autoalojamiento.\n\n## características\n\n\U0001F5A5️ Interfaz que coincide con ChatGPT, incluyendo modo oscuro, transmisión y actualizaciones de noviembre de 2023\n\n\U0001F4AC Chat multimodal:\nSube y analiza imágenes con GPT-4 y Gemini Vision \U0001F4F8\nMás tipos de archivos e integración de API de asistentes en desarrollo activo \U0001F6A7\n\n\U0001F30E Interfaz multilingüe:\nInglés, 中文, Alemán, Español, Francés, Italiano, Polaco, Portugués Brasileño,\nRuso, 日本語, Sueco, Coreano, Vietnamita, 繁體中文, Árabe, Turco, Holandés\n\n\U0001F916 Selección de modelos de IA: API de OpenAI, Azure, BingAI, ChatGPT, Google Vertex AI, Anthropic (Claude), complementos\n\n\U0001F4BE Crear, guardar y compartir presets personalizados\n\n\U0001F504 Editar, reenviar y continuar mensajes con ramificación de conversaciones\n\n\U0001F4E4 Exportar conversaciones como capturas de pantalla, markdown, texto, json.\n\n\U0001F50D Buscar todos los mensajes/conversaciones\n\n\U0001F50C Complementos, incluyendo acceso web, generación de imágenes con DALL-E-3 y más\n\n\U0001F465 Multiusuario, autenticación segura con herramientas de moderación y gasto de tokens\n\n⚙️ Configurar proxy, proxy inverso, Docker, muchas opciones de implementación, y completamente de código abierto"
    ja-JP:
        description: 多機能およびAIモデルを搭載した強化版ChatGPTクローン。
        readme: "# LibreChat\n\n強化版ChatGPTクローン: OpenAI、GPT-4 Vision、Mistral、Bing、Anthropic、OpenRouter、Google Gemini、AIモデル切り替え、メッセージ検索、langchain、DALL-E-3、ChatGPTプラグイン、OpenAI機能、安全なマルチユーザーシステム、プリセット、自ホストのための完全オープンソースを特徴とします。\n\n## 機能\n\n\U0001F5A5️ ChatGPTに一致するUI、ダークモード、ストリーミング、2023年11月の更新を含む\n\n\U0001F4AC マルチモーダルチャット:\nGPT-4とGemini Visionで画像をアップロードおよび分析 \U0001F4F8\n多くのファイルタイプとアシスタントAPI統合が積極的に開発中 \U0001F6A7\n\n\U0001F30E 多言語UI:\n英語、中国語、ドイツ語、スペイン語、フランス語、イタリア語、ポーランド語、ブラジルポルトガル語、\nロシア語、日本語、スウェーデン語、韓国語、ベトナム語、繁体字中国語、アラビア語、トルコ語、オランダ語\n\n\U0001F916 AIモデル選択: OpenAI API、Azure、BingAI、ChatGPT、Google Vertex AI、Anthropic（Claude）、プラグイン\n\n\U0001F4BE カスタムプリセットの作成、保存、および共有\n\n\U0001F504 メッセージの編集、再送信、および会話の分岐で続行\n\n\U0001F4E4 会話をスクリーンショット、マークダウン、テキスト、jsonとしてエクスポート\n\n\U0001F50D すべてのメッセージ/会話を検索\n\n\U0001F50C プラグイン、ウェブアクセス、DALL-E-3による画像生成などを含む\n\n\U0001F465 複数ユーザー、モデレーションとトークン使用ツールを備えた安全な認証\n\n⚙️ プロキシ、リバースプロキシ、Docker、さまざまなデプロイメントオプションの構成、完全オープンソース\n"
    zh-CN:
        description: 增强版的ChatGPT克隆，具有许多功能和AI模型。
        readme: "# LibreChat\n\n增强版ChatGPT克隆：具有OpenAI、GPT-4 Vision、Mistral、Bing、Anthropic、OpenRouter、Google Gemini、AI模型切换、消息搜索、langchain、DALL-E-3、ChatGPT插件、OpenAI功能、安全多用户系统、预设，完全开源以便自托管。\n\n## 功能\n\n\U0001F5A5️ 界面与ChatGPT匹配，包括暗模式、流媒体和2023年11月更新\n\n\U0001F4AC 多模态聊天：\n使用GPT-4和Gemini Vision上传和分析图像 \U0001F4F8\n更多文件类型和助手API集成正在积极开发中 \U0001F6A7\n\n\U0001F30E 多语言界面：\n英语、中文、德语、西班牙语、法语、意大利语、波兰语、巴西葡萄牙语、\n俄语、日语、瑞典语、韩语、越南语、繁体中文、阿拉伯语、土耳其语、荷兰语\n\n\U0001F916 AI模型选择：OpenAI API、Azure、BingAI、ChatGPT、Google Vertex AI、Anthropic（Claude）、插件\n\n\U0001F4BE 创建、保存和分享自定义预设\n\n\U0001F504 编辑、重新提交和继续消息，并进行对话分支\n\n\U0001F4E4 将对话导出为截图、markdown、文本、json。\n\n\U0001F50D 搜索所有消息/对话\n\n\U0001F50C 插件，包括网页访问、使用DALL-E-3生成图像等\n\n\U0001F465 多用户，带有审核和令牌消费工具的安全认证\n\n⚙️ 配置代理、反向代理、Docker、许多部署选项，并且完全开源\n"
    zh-TW:
        description: 增強版的ChatGPT複製，具有許多功能和AI模型。
        readme: "# LibreChat\n\n增強版ChatGPT複製：具有OpenAI、GPT-4 Vision、Mistral、Bing、Anthropic、OpenRouter、Google Gemini、AI模型切換、消息搜尋、langchain、DALL-E-3、ChatGPT外掛程式、OpenAI功能、安全多使用者系統、預設，完全開源以便自寄管。\n\n## 功能\n\n\U0001F5A5️ 介面與ChatGPT匹配，包括暗模式、串流媒體和2023年11月更新\n\n\U0001F4AC 多模態聊天：\n使用GPT-4和Gemini Vision上傳和分析圖像 \U0001F4F8\n更多文件類型和助手API整合正在積極開發中 \U0001F6A7\n\n\U0001F30E 多語言介面：\n英語、中文、德語、西班牙語、法語、義大利語、波蘭語、巴西葡萄牙語、\n俄語、日語、瑞典語、韓語、越南語、繁體中文、阿拉伯語、土耳其語、荷蘭語\n\n\U0001F916 AI模型選擇：OpenAI API、Azure、BingAI、ChatGPT、Google Vertex AI、Anthropic（Claude）、外掛程式\n\n\U0001F4BE 建立、儲存和分享自訂預設\n\n\U0001F504 編輯、重新提交和繼續消息，並進行對話分支\n\n\U0001F4E4 將對話匯出為截圖、markdown、文字、json。\n\n\U0001F50D 搜尋所有消息/對話\n\n\U0001F50C 外掛程式，包括網頁造訪、使用DALL-E-3生成圖像等\n\n\U0001F465 多使用者，帶有審核和令牌消費工具的安全認證\n\n⚙️ 配置代理、反向代理、Docker、許多部署選項，並且完全開源\n"
