Эта инструкция поможет вам установить и настроить LibreChat на системе Linux с использованием Docker.
git clone https://github.com/danny-avila/LibreChat.git
cd LibreChat
.env
):Создайте копию файла с примером и откройте её для редактирования:
cp .env.example .env
nano .env
user_provided
для соответствующих API-ключей (например, OPENAI_API_KEY=user_provided
).ALLOW_REGISTRATION=true
CREDS_IV
: 16-байтовая строка (32 символа в hex).CREDS_KEY
: 32-байтовая строка (64 символа в hex).JWT_SECRET
: 32-байтовая строка (64 символа в hex).JWT_REFRESH_SECRET
: 32-байтовая строка (64 символа в hex).Пример генерации случайной строки (для каждого ключа отдельно):
openssl rand -hex 16 # для CREDS_IV
openssl rand -hex 32 # для CREDS_KEY, JWT_SECRET, JWT_REFRESH_SECRET
CREDS_IV=ВАША_УНИКАЛЬНАЯ_СТРОКА_16_БАЙТ
CREDS_KEY=ВАША_УНИКАЛЬНАЯ_СТРОКА_32_БАЙТ
JWT_SECRET=ВАША_УНИКАЛЬНАЯ_СТРОКА_32_БАЙТ
JWT_REFRESH_SECRET=ВАША_УНИКАЛЬНАЯ_СТРОКА_32_БАЙТ
# OPENAI_API_KEY=sk-yourKey <-- Если используете user_provided, то эта строка должна быть закомментирована
ALLOW_REGISTRATION=true
ANYSCALE_API_KEY=user_provided # Пример
APIPIE_API_KEY=user_provided # Пример
docker-compose.override.yml
):Этот файл позволяет добавлять или изменять параметры основного docker-compose.yml
без его прямого редактирования.
cp docker-compose.override.yml.example docker-compose.override.yml
nano docker-compose.override.yml
librechat.yaml
в контейнер API, чтобы использовать его для конфигурации провайдеров:
services:
api:
volumes:
- ./librechat.yaml:/app/librechat.yaml
librechat.yaml
):Этот файл используется для тонкой настройки провайдеров, моделей и отображения иконок в интерфейсе.
cp librechat.example.yaml librechat.yaml
nano librechat.yaml
.env
вы указываете, кто будет предоставлять API-ключи).yamllint librechat.yaml
Используйте deploy-compose.yml
для запуска всех необходимых контейнеров.
sudo docker-compose -f ./deploy-compose.yml up -d
up -d
: Запускает контейнеры в фоновом режиме.npm run start:deployed
deploy-compose.yml
фронтенд также запускается в Docker-контейнере. Эта команда может быть нужна для разработки или в специфических случаях, если фронтенд запускается отдельно.Чтобы убедиться, что всё работает, следите за логами контейнера API.
docker logs -f LibreChat-API
После изменения файлов .env
, docker-compose.override.yml
или librechat.yaml
необходимо перезапустить сервисы Docker.
sudo docker-compose -f ./deploy-compose.yml down # Останавливает и удаляет текущие контейнеры
sudo docker-compose -f ./deploy-compose.yml up -d --build # Запускает заново и пересобирает (перечитывает) образы
--build
: Это критически важно для применения изменений, так как он заставляет Docker пересобрать образ api
, используя обновлённые файлы конфигурации.getaddrinfo EAI_AGAIN mongodb
в логах LibreChat-API
:error: There was an uncaught error: getaddrinfo EAI_AGAIN mongodb
api
не может разрешить имя хоста mongodb
. Это часто указывает на проблему с сетевым взаимодействием Docker или нехватку ресурсов при старте.HOST
, а не KVM64
или другое. Это иногда решает проблемы с сетевыми стеками в Docker. Также попробуйте увеличить выделенные ресурсы (RAM, CPU) для VM/контейнера, если они низкие. Иногда помогает повторный запуск Docker Compose..env
найдите и установите:
SECURE_COOKIES=false
После этого обязательно перезапустите Docker Compose с --build
. Однако, помните, что это значительно снижает безопасность.