mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-17 17:00:15 +01:00
105 lines
3.4 KiB
Markdown
105 lines
3.4 KiB
Markdown
---
|
|
title: 🥷 Ninja (ChatGPT reverse proxy)
|
|
description: How to deploy Ninja, and enable the `CHATGPT_REVERSE_PROXY` for use with LibreChat.
|
|
weight: -3
|
|
---
|
|
|
|
# Ninja Deployment Guide
|
|
|
|
If you're looking to use the ChatGPT Endpoint in LibreChat **(not to be confused with [OpenAI's Official API](../install/configuration/ai_setup.md#openai))**, setting up a reverse proxy is an essential. Ninja offers a solution for this purpose, and this guide will walk you through deploying Ninja to enable the `CHATGPT_REVERSE_PROXY` for use with LibreChat. See their official GitHub for more info: [https://github.com/gngpp/ninja](https://github.com/gngpp/ninja)
|
|
|
|
> Using this method you will only be able to use `text-davinci-002-render-sha` with Ninja in LibreChat. Other models offered with a `plus` subscription will not work.
|
|
|
|
You can use it locally in Docker or deploy it on the web for remote access.
|
|
|
|
---
|
|
|
|
## Deploy Locally Using Docker:
|
|
|
|
For local deployment using Docker, the steps are as follows:
|
|
|
|
### 1. **Create a Ninja folder and a docker-compose.yml file inside it:**
|
|
- Edit the docker-compose file like this:
|
|
|
|
```yaml
|
|
version: '3.4'
|
|
|
|
services:
|
|
ninja:
|
|
image: gngpp/ninja:latest
|
|
container_name: ninja
|
|
restart: unless-stopped
|
|
command: run
|
|
ports:
|
|
- "7999:7999"
|
|
```
|
|
|
|
### 2. **Set Up the LibreChat `.env` File:**
|
|
In the `.env` file within your LibreChat directory, you'll need to set the `CHATGPT_REVERSE_PROXY` variable:
|
|
|
|
```bash
|
|
CHATGPT_REVERSE_PROXY=http://host.docker.internal:7999/backend-api/conversation
|
|
```
|
|
|
|
### 3. **Start Docker Containers:**
|
|
From the Ninja directory, run the following command to launch the Docker containers:
|
|
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
|
|
---
|
|
|
|
## Alternate Docker Method:
|
|
|
|
You can add it to the LibreChat override file if you prefer
|
|
|
|
### 1. **Edit or Create the override file:**
|
|
In the LibreChat folder, find the `docker-compose.override.yml` file. (If you haven't created it yet you can either rename the `docker-compose.override.yml.example` to `docker-compose.override.yml`, or create a new one)
|
|
|
|
The override file should contain this:
|
|
|
|
```yaml
|
|
version: '3.4'
|
|
|
|
services:
|
|
|
|
ninja:
|
|
image: gngpp/ninja:latest
|
|
container_name: ninja
|
|
restart: unless-stopped
|
|
command: run
|
|
ports:
|
|
- "7999:7999"
|
|
```
|
|
|
|
### 2. **Set Up the LibreChat `.env` File:**
|
|
In the `.env` file within your LibreChat directory, you'll need to set the `CHATGPT_REVERSE_PROXY` variable:
|
|
|
|
```bash
|
|
CHATGPT_REVERSE_PROXY=http://host.docker.internal:7999/backend-api/conversation
|
|
```
|
|
|
|
---
|
|
|
|
## Deploy Online on Hugging Face:
|
|
|
|
To deploy Ninja online by duplicating the Hugging Face Space, follow these steps:
|
|
|
|
### 1. **Hugging Face Space:**
|
|
Visit the [Ninja LibreChat Space](https://huggingface.co/spaces/LibreChat/Ninja) on Hugging Face.
|
|
|
|
### 2. **Duplicate the Space:**
|
|
Utilize the available options to duplicate or fork the space into your own Hugging Face account.
|
|
|
|
### 3. **Configure LibreChat:**
|
|
In the .env file (or secrets settings if you host LibreChat on Hugging Face), set the `CHATGPT_REVERSE_PROXY` variable using the following format:
|
|
|
|
```bash
|
|
CHATGPT_REVERSE_PROXY=http://your_hf_space_url.com/backend-api/conversation
|
|
```
|
|
|
|
- Replace `your_hf_space_url.com` with the domain of your deployed space.
|
|
- Note: you can use this format: `https://your_username-ninja.hf.space` (replace `your_username` with your Huggingface username).
|
|
- The resulting URL should look similar to:
|
|
`https://your_username-ninja.hf.space/backend-api/conversation`
|