Использование публичных облачных интерфейсов вроде ChatGPT Plus или Claude Pro несет для бизнеса и инженеров два критических риска: передачу коммерческой тайны и исходного кода на серверы зарубежных корпораций и постоянную угрозу внезапной блокировки аккаунтов. LibreChat — это ведущий open-source веб-интерфейс для работы с искусственным интеллектом (более 46 000 звёзд на GitHub, лицензия MIT), объединяющий в едином окне любые нейросети: локальные модели через Ollama, флагманские модели DeepSeek, Anthropic Claude и OpenAI. Платформа полностью повторяет эстетику и функциональность оригинального ChatGPT, добавляя мультимодальность, поиск по истории сообщений через MeiliSearch, векторную базу данных для работы с документами (RAG), агентов и разделение прав пользователей. В этом руководстве мы развернем стабильный релиз LibreChat v0.8.8 в Docker Compose, настроим безопасный доступ через Nginx с SSL и подключим гибридный стек нейросетей без утечки корпоративных данных.
1. Почему бизнесу и инженерам нужен собственный приватный AI-клиент
Работа разработчиков, маркетологов и аналитиков через публичные веб-интерфейсы OpenAI или Anthropic создает серьезные угрозы информационной безопасности:
- Утечка конфиденциальных данных и 152-ФЗ. Отправляя в облачный чат куски закрытого исходного кода, базы данных клиентов, финансовые отчеты или архитектурные схемы, сотрудники фактически передают чувствительные данные третьим лицам. В LibreChat база переписок хранится на вашем изолированном VDS, а при работе с локальной Ollama запросы вообще не покидают периметр сервера.
- Блокировки аккаунтов и недоступность из РФ. Публичные сайты ChatGPT и Claude регулярно блокируют профили пользователей из России, требуют иностранных номеров телефонов и зарубежных банковских карт для продления подписок ($20 за каждого сотрудника в месяц).
- Единая точка входа для всей команды. Вместо покупки десятка индивидуальных подписок компания разворачивает один портал: администратор подключает корпоративные API-ключи (например, высокопроизводительный и доступный DeepSeek-V3 / R1 или локальную Ollama) и настраивает квоты для сотрудников.
| Критерий | ChatGPT Plus | Open WebUI | Dify | LibreChat v0.8.8 (Self-Hosted) |
|---|---|---|---|---|
| Хранение диалогов | Серверы OpenAI (США) | Свой сервер | Свой сервер | Свой изолированный VDS |
| Поддерживаемые провайдеры | Только OpenAI | Ollama + базовый OpenAI | Мультипровайдеры | Ollama, DeepSeek, Claude, OpenAI |
| Полнотекстовый поиск по чатам | Базовый | Медленный (SQL LIKE) | В рамках воркфлоу | Мгновенный (MeiliSearch) |
| Работа с файлами и RAG | Да (Advanced Data) | Встроенный RAG | Продвинутый RAG | pgvector + RAG API Lite |
| Лицензия | Проприетарная | Open-source | Open-source | MIT (Максимально свободная) |
2. Архитектура LibreChat: Node.js API, MongoDB, MeiliSearch и pgvector RAG
В отличие от простых веб-оберток, платформа LibreChat спроектирована как масштабируемый сервис, разделенный на независимые функциональные уровни:
- Основной контейнер API и клиента (
LibreChat): высокопроизводительный сервис на Node.js и React. Обрабатывает пользовательские сессии, шифрует ключи, проксирует потоковые ответы нейросетей (Server-Sent Events) и управляет диалогами. - База данных MongoDB 8.0 (
chat-mongodb): документное хранилище для истории чатов, настроек пользовательских пресетов, системных промптов и учетных записей. - Поисковый движок MeiliSearch 1.35 (
chat-meilisearch): сверхбыстрый специализированный движок для мгновенного полнотекстового поиска по всем перепискам и сообщениям с поддержкой опечаток и русского языка. - Векторная база данных pgvector (
vectordb): PostgreSQL с расширениемvector, предназначенная для хранения векторных эмбеддингов документов и PDF-файлов. - Сервис RAG API (
rag_api): микросервис на Python, который извлекает текст из загруженных файлов, разбивает его на фрагменты (чанги) и находит наиболее релевантные куски для добавления в контекст нейросети.
💡 Совет инженера: почему MeiliSearch необходим в корпоративном чате
Когда у сотрудника накапливаются сотни диалогов с генерацией кода и решениями задач, стандартный поиск по базе MongoDB приводит к высоким задержкам и нагрузке на CPU. Интеграция с MeiliSearch индексирует каждое сообщение асинхронно, обеспечивая моментальный вывод результатов поиска по ключевым словам прямо во время ввода.
3. Системные требования к VDS: облачные API против локального запуска Ollama
Потребление ресурсов сервера кардинально зависит от выбранного сценария эксплуатации:
- Только внешние API (DeepSeek, Claude, OpenAI): сервер выполняет роль шлюза, кэша и базы данных. В этом сценарии стек LibreChat чрезвычайно легковесен и стабильно работает на недорогом VDS с 2–4 ГБ оперативной памяти.
- Гибридный режим с локальной Ollama: если вы планируете запускать инференс открытых моделей (например, Qwen 2.5 Coder или Llama 3.2) прямо на процессоре сервера без видеокарты, потребуются высокочастотные процессорные ядра и от 8 до 16 ГБ оперативной памяти.
| Параметр | Базовый режим (Внешние API: DeepSeek, Claude) | Гибридный режим (+ локальная Ollama CPU) |
|---|---|---|
| Процессор (vCPU) | 2 vCPU (от 2.6 ГГц) | 4–8 vCPU (от 3.3 ГГц) |
| Оперативная память (RAM) | 2–4 ГБ RAM | 8–16 ГБ RAM |
| Дисковое пространство | 30 ГБ NVMe | 80–120 ГБ NVMe (под веса моделей GGUF) |
| Операционная система | Ubuntu 24.04 LTS / Debian 12 | Ubuntu 24.04 LTS x86_64 |
4. Развертывание LibreChat в Docker Compose: секреты и привязка портов
При настройке стека в соответствии со стандартами информационной безопасности SysKit выполняются три критических правила:
- Привязка порта только к локальной петле (
127.0.0.1:3080:3080). Это полностью закрывает порт веб-интерфейса от внешнего сканирования и исключает уязвимость обхода фаервола UFW в Linux (подробности в материале Docker обходит UFW на Linux). - Криптостойкое шифрование токенов (AES-256). LibreChat использует ключи
CREDS_KEY(32 байта hex) иCREDS_IV(16 байт hex) для симметричного шифрования персональных API-ключей пользователей перед сохранением в MongoDB. Это гарантирует, что даже при утечке дампов базы закрытые ключи останутся в безопасности. - Активация полнотекстового поиска (
SEARCH=true). По умолчанию поиск в LibreChat выключен. Чтобы движок MeiliSearch действительно индексировал переписки, в файле.envобязательно задаются одновременно флагSEARCH=trueи мастер-ключMEILI_MASTER_KEY.
Генерация секретов и подготовка структуры проекта
# Создаём рабочий каталог
mkdir -p /opt/librechat && cd /opt/librechat
# Генерируем 32 байта hex для CREDS_KEY (64 символа)
CREDS_KEY=$(openssl rand -hex 32)
# Генерируем 16 байт hex для CREDS_IV (32 символа)
CREDS_IV=$(openssl rand -hex 16)
# Генерируем секреты для подписи JWT-токенов сессий
JWT_SECRET=$(openssl rand -hex 32)
JWT_REFRESH=$(openssl rand -hex 32)
# Генерируем мастер-ключ для поискового движка MeiliSearch
MEILI_KEY=$(openssl rand -hex 24)
# Пароль для векторной базы PostgreSQL
PG_PASS=$(openssl rand -hex 24)
# Создаём защищенный файл переменных окружения .env
cat <<EOF > .env
HOST=0.0.0.0
PORT=3080
# Подключение к MongoDB 8.0
MONGO_URI=mongodb://mongodb:27017/LibreChat
# Ключи шифрования пользовательских токенов в БД (AES-256)
CREDS_KEY=${CREDS_KEY}
CREDS_IV=${CREDS_IV}
# JWT аутентификация сессий
JWT_SECRET=${JWT_SECRET}
JWT_REFRESH_SECRET=${JWT_REFRESH}
# Полнотекстовый поиск MeiliSearch 1.35 (КРИТИЧНО: SEARCH=true)
SEARCH=true
MEILI_HOST=http://meilisearch:7700
MEILI_MASTER_KEY=${MEILI_KEY}
MEILI_NO_ANALYTICS=true
# Сервис RAG и векторная база данных pgvector
RAG_PORT=8000
RAG_API_URL=http://rag_api:8000
DB_HOST=vectordb
POSTGRES_DB=rag_vectors
POSTGRES_USER=rag_user
POSTGRES_PASSWORD=${PG_PASS}
# Разрешить регистрацию первого администратора (после регистрации меняется на false)
ALLOW_REGISTRATION=true
# Файл расширенной конфигурации моделей
CONFIG_PATH=/app/librechat.yaml
EOF
chmod 600 .env
💡 Совет инженера: сетевая изоляция MongoDB
Обратите внимание: для контейнера librechat-mongodb в манифесте намеренно не объявляется секция ports. База данных доступна исключительно внутри закрытой виртуальной сети Docker для сервиса api и полностью изолирована от внешнего сетевого интерфейса хоста.
Манифест docker-compose.yml
services:
api:
image: ghcr.io/danny-avila/librechat:v0.8.8
container_name: librechat-api
restart: unless-stopped
ports:
# Защита от прямого сканирования: слушаем строго локальную петлю
- "127.0.0.1:3080:3080"
extra_hosts:
# Разрешение прямого обращения к локальной Ollama на хосте Linux
- "host.docker.internal:host-gateway"
env_file:
- .env
environment:
- HOST=0.0.0.0
- MONGO_URI=mongodb://mongodb:27017/LibreChat
- SEARCH=true
- MEILI_HOST=http://meilisearch:7700
- RAG_PORT=8000
- RAG_API_URL=http://rag_api:8000
volumes:
- ./librechat.yaml:/app/librechat.yaml:ro
- ./uploads:/app/uploads
- ./images:/app/client/public/images
- ./logs:/app/logs
- librechat-data:/app/data
depends_on:
mongodb:
condition: service_started
meilisearch:
condition: service_started
rag_api:
condition: service_started
mem_limit: 1.5g
cpus: 1.5
mongodb:
image: mongo:8.0.20
container_name: librechat-mongodb
restart: unless-stopped
command: mongod --noauth
volumes:
- mongo-data:/data/db
mem_limit: 1g
cpus: 1.0
meilisearch:
image: getmeili/meilisearch:v1.35.1
container_name: librechat-meilisearch
restart: unless-stopped
environment:
- MEILI_HOST=http://meilisearch:7700
- MEILI_NO_ANALYTICS=true
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY}
volumes:
- meili-data:/meili_data
mem_limit: 768m
cpus: 1.0
vectordb:
image: pgvector/pgvector:0.8.0-pg15-trixie
container_name: librechat-vectordb
restart: unless-stopped
environment:
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- pgdata-rag:/var/lib/postgresql/data
mem_limit: 768m
cpus: 1.0
rag_api:
# Официальный образ RAG API публикуется разработчиками под тегом latest
image: ghcr.io/librechat-ai/librechat-rag-api-dev-lite:latest
container_name: librechat-rag-api
restart: unless-stopped
environment:
- DB_HOST=vectordb
- DB_PORT=5432
- DB_NAME=${POSTGRES_DB}
- DB_USER=${POSTGRES_USER}
- DB_PASSWORD=${POSTGRES_PASSWORD}
- RAG_PORT=8000
depends_on:
- vectordb
mem_limit: 1g
cpus: 1.0
volumes:
mongo-data:
meili-data:
pgdata-rag:
librechat-data:
💡 Совет инженера: почему у rag_api используется тег latest
В отличие от основного приложения LibreChat, жестко зафиксированного на стабильном релизе v0.8.8, вспомогательный Python-микросервис извлечения векторных эмбеддингов поддерживается мейнтейнерами в реестре ghcr.io/librechat-ai/librechat-rag-api-dev-lite исключительно под тегом latest. Попытка вручную прописать числовой тег приведет к ошибке manifest unknown.
Первичный файл конфигурации librechat.yaml
Создайте базовый файл librechat.yaml в рабочем каталоге:
version: 1.3.18
cache: true
endpoints:
allowedAddresses:
- 'host.docker.internal:11434'
- '127.0.0.1:11434'
- 'localhost:11434'
custom: []
# Скачиваем образы и запускаем сервисы
docker compose pull
docker compose up -d
# Проверяем статус всех пяти контейнеров
docker compose ps
# Просматриваем журналы запуска основного контейнера
docker compose logs --tail=50 -f api
5. Настройка Nginx с SSL и потоковой передачей ответов (SSE)
В отличие от обычных веб-сайтов, веб-клиенты искусственного интеллекта активно используют технологию Server-Sent Events (SSE) для плавной посимвольной печати ответов языковых моделей (стриминга токенов). Если в обратном прокси Nginx включена стандартная буферизация ответов бэкенда, текст не будет появляться плавно: браузер будет ждать генерации всего ответа целиком или выдавать его рывками по несколько килобайт.
Конфигурация виртуального хоста Nginx
Создайте файл /etc/nginx/sites-available/chat.example.ru.conf:
# Лимит на размер загружаемых PDF-документов и файлов для RAG
client_max_body_size 50M;
server {
listen 80;
server_name chat.example.ru;
# Принудительный редирект HTTP на HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name chat.example.ru;
# Сертификаты Let's Encrypt
ssl_certificate /etc/letsencrypt/live/chat.example.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/chat.example.ru/privkey.pem;
# Рекомендуемые параметры безопасности SSL/TLS
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
# Заголовки безопасности
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
location / {
proxy_pass http://127.0.0.1:3080;
proxy_http_version 1.1;
# Поддержка WebSocket для интерактивных элементов
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# КРИТИЧНО ДЛЯ ИИ: отключение буферизации для Server-Sent Events (стриминг токенов)
proxy_buffering off;
proxy_cache off;
chunked_transfer_encoding on;
# Увеличенные таймауты для генерации длинных ответов и рассуждений моделей
proxy_read_timeout 600s;
proxy_send_timeout 600s;
}
}
Выпуск сертификата Let's Encrypt и применение конфигурации
# Создаём символическую ссылку для активации сайта
ln -s /etc/nginx/sites-available/chat.example.ru.conf /etc/nginx/sites-enabled/
# Проверяем конфигурационные файлы Nginx на синтаксические ошибки
nginx -t
# Выпускаем бесплатный SSL-сертификат
certbot --nginx -d chat.example.ru --non-interactive --agree-tos --redirect -m admin@example.ru
# Перезагружаем веб-сервер
systemctl reload nginx
После установки проверьте надежность шифрования с помощью инструмента проверки SSL-сертификатов и убедитесь в корректности директив безопасности через сервис анализа HTTP-заголовков.
Регистрация первого администратора и закрытие публичной регистрации
Откройте браузер по адресу https://chat.example.ru:
- Нажмите кнопку Sign Up и создайте первую учетную запись администратора, указав рабочий Email и надежный пароль. Первый зарегистрированный пользователь автоматически получает статус администратора системы.
- Чтобы посторонние пользователи интернета не могли бесконтрольно расходовать баланс ваших платных токенов нейросетей, отключите свободную регистрацию. Для этого откройте
/opt/librechat/.envи установите параметр:ALLOW_REGISTRATION=false - Примените изменение конфигурации командой:
docker compose up -d
Теперь добавлять новых коллег сможет только администратор через панель управления или временное включение инвайтов.
Рекомендуемые VDS-провайдеры
Отказоустойчивые сервера с быстрыми NVMe и каналом до 1 Гбит/с
Timeweb Cloud — Быстрые NVMe VDS
Высокочастотные процессоры 3.3 ГГц и скоростные NVMe-диски для моментального поиска в MeiliSearch и плавной генерации токенов в LibreChat.
Selectel — Инфраструктура Tier III
Отказоустойчивые серверы в сертифицированных дата-центрах РФ уровня Tier III, выделенные каналы и строгое соблюдение требований 152-ФЗ.
Beget — Простой старт для домена
Удобная панель управления, предустановленный Docker на Ubuntu 24.04 LTS и круглосуточная русскоязычная техническая поддержка.
6. Подключение нейросетей в librechat.yaml: Ollama, DeepSeek и Claude
Файл librechat.yaml — это главный центр управления моделями платформы. Здесь вы можете гибко объединять локальный инференс без передачи данных наружу с мощными облачными API.
Полный пример конфигурации librechat.yaml
Замените содержимое /opt/librechat/librechat.yaml следующей production-конфигурацией:
version: 1.3.18
cache: true
endpoints:
# Разрешаем контейнеру обращаться к локальному порту Ollama на хосте через extra_hosts
allowedAddresses:
- 'host.docker.internal:11434'
- '127.0.0.1:11434'
- 'localhost:11434'
custom:
# 1. Локальная Ollama на VDS (полная конфиденциальность данных)
- name: "Ollama"
apiKey: "ollama"
baseURL: "http://host.docker.internal:11434/v1"
models:
default: ["qwen2.5-coder:7b", "llama3.3:70b", "deepseek-r1:8b"]
fetch: true
titleConvo: true
titleModel: "current_model"
modelDisplayLabel: "Ollama (Локально на VDS)"
# 2. Флагманский китайский DeepSeek API (высокая скорость и минимальная стоимость)
- name: "DeepSeek"
apiKey: "${DEEPSEEK_API_KEY}"
baseURL: "https://api.deepseek.com/v1"
models:
default: ["deepseek-chat", "deepseek-reasoner"]
fetch: false
titleConvo: true
titleModel: "deepseek-chat"
modelDisplayLabel: "DeepSeek V3 / R1"
# 3. Нативный протокол Anthropic Claude (через provider: anthropic)
- name: "Anthropic"
provider: "anthropic"
apiKey: "${ANTHROPIC_API_KEY}"
baseURL: "https://api.anthropic.com"
models:
default: ["claude-3-7-sonnet-20250219", "claude-3-5-sonnet-latest", "claude-3-5-haiku-latest"]
titleConvo: true
titleModel: "claude-3-5-haiku-latest"
modelDisplayLabel: "Claude"
# 4. OpenAI API (o3-mini и GPT-4o)
- name: "OpenAI"
apiKey: "${OPENAI_API_KEY}"
baseURL: "https://api.openai.com/v1"
models:
default: ["o3-mini", "gpt-4o", "gpt-4o-mini"]
fetch: false
titleConvo: true
titleModel: "gpt-4o-mini"
modelDisplayLabel: "OpenAI"
💡 Совет инженера: передача API-ключей через .env
Никогда не вписывайте приватные токены в сам YAML-файл. LibreChat автоматически подставляет переменные вида ${DEEPSEEK_API_KEY} из файла /opt/librechat/.env. Добавьте ваши ключи в .env и перезапустите контейнер API командой docker compose restart api.
7. Работа с документами через RAG и артефакты кода
Помимо стандартного диалога, связка LibreChat с vectordb (pgvector) и rag_api открывает мощные сценарии корпоративной автоматизации:
1. Поиск по корпоративным документам и регламентам (RAG)
Нажмите на иконку скрепки в строке ввода и прикрепите PDF-документ (например, техническое задание, договор или бухгалтерскую выписку):
- Контейнер
rag_apiавтоматически извлекает текстовые блоки и строит векторные эмбеддинги в базе данных PostgreSQLvectordb. - При вопросе пользователя LibreChat выполняет семантический поиск, находит 3–5 наиболее подходящих абзацев из вашего документа и отправляет их в контекст модели.
- Модель отвечает строго на основе предоставленного регламента, указывая конкретные страницы или разделы.
2. Интерактивные артефакты (Artifacts)
Как и в Claude.ai, LibreChat поддерживает режим артефактов: при генерации HTML-страниц, React-компонентов, диаграмм Mermaid или SVG-графики в правой части экрана открывается окно интерактивного предпросмотра. Разработчик может сразу протестировать код прямо в браузере без копирования во внешний редактор.
3. Персональные пресеты и системные промпты
В разделе Presets можно сохранить готовые конфигурации под разные отделы компании:
- Senior DevOps Reviewer: модель DeepSeek-Reasoner с системным промптом на аудит манифестов Kubernetes и Docker Compose.
- Legal Assistant: локальная модель Qwen на Ollama для проверки договоров без передачи персональных данных клиентов во внешние сети.
- Technical Writer: модель Claude 3.7 Sonnet для подготовки инженерной документации и архитектурных статей.
8. Резервное копирование диалогов MongoDB, базы RAG и обновление
В LibreChat история диалогов, настройки пользователей и пресеты хранятся в документоориентированной базе данных MongoDB 8.0, а векторы документов — в PostgreSQL vectordb. Для предотвращения потери накопленной базы знаний настраивается ночной автоматический бэкап:
Скрипт автоматического создания резервной копии
Создайте скрипт /usr/local/bin/backup-librechat.sh:
#!/usr/bin/env bash
set -euo pipefail
BACKUP_DIR="/var/backups/librechat"
TIMESTAMP="$(date +%Y%m%d-%H%M%S)"
TARGET_DIR="${BACKUP_DIR}/${TIMESTAMP}"
mkdir -p "${TARGET_DIR}"
chmod 700 "${TARGET_DIR}"
# 1. Горячий дамп базы данных MongoDB 8.0
echo "Создание дампа MongoDB..."
docker exec librechat-mongodb mongodump --archive | gzip -9 > "${TARGET_DIR}/mongo-dump.archive.gz"
# 2. Дамп векторной базы данных pgvector
echo "Создание дампа векторной базы данных RAG..."
docker exec librechat-vectordb pg_dump -U rag_user rag_vectors | gzip -9 > "${TARGET_DIR}/vectordb.sql.gz"
# 3. Сохранение конфигурационных файлов и секретов с закрытыми правами
cp /opt/librechat/.env "${TARGET_DIR}/librechat.env"
cp /opt/librechat/librechat.yaml "${TARGET_DIR}/librechat.yaml"
chmod 600 "${TARGET_DIR}/librechat.env" "${TARGET_DIR}/librechat.yaml"
echo "Резервная копия успешно создана в ${TARGET_DIR} ($(du -sh "${TARGET_DIR}" | cut -f1))"
# Удаляем локальные резервные копии старше 14 дней
find "${BACKUP_DIR}" -mindepth 1 -maxdepth 1 -type d -mtime +14 -exec rm -rf {} +
# Делаем скрипт исполняемым
chmod +x /usr/local/bin/backup-librechat.sh
# Настраиваем расписание: используем системный /etc/cron.d, чтобы не затирать существующий crontab пользователя
cat <<EOF > /etc/cron.d/librechat-backup
# Ночной бэкап стека LibreChat в 04:00
0 4 * * * root /usr/local/bin/backup-librechat.sh >> /var/log/librechat-backup.log 2>&1
EOF
chmod 644 /etc/cron.d/librechat-backup
Для гарантированной защиты от аппаратных аварий накопителя настройте автоматическую выгрузку дампов в независимое отечественное объектное хранилище по нашему руководству по автоматическим шифрованным бэкапам VDS в S3.
Обновление LibreChat до новых версий
cd /opt/librechat
# Создаем свежий бэкап перед обновлением
/usr/local/bin/backup-librechat.sh
# Скачиваем свежие версии образов
docker compose pull
# Перезапускаем контейнеры без простоя базы данных
docker compose up -d
# Проверяем журналы на наличие ошибок инициализации
docker compose logs --tail=50 -f api
9. Чек-лист проверки готовности LibreChat к коммерческой эксплуатации
| Параметр | Рекомендуемое значение | Назначение |
|---|---|---|
| Сетевой порт | 127.0.0.1:3080:3080 |
Защита от сканирования из интернета и обхода UFW |
| Ключи шифрования | Стойкие CREDS_KEY и CREDS_IV |
Шифрование AES-256 пользовательских API-токенов в MongoDB |
| Поиск MeiliSearch | SEARCH=true |
Активация асинхронного поиска по сообщениям чатов |
| Связка с Ollama | host.docker.internal:host-gateway |
Доступ контейнера к хостовому порту 11434 на Linux |
| Регистрация | ALLOW_REGISTRATION=false |
Защита от несанкционированного расхода баланса API посторонними |
| Буферизация Nginx | proxy_buffering off; |
Плавный посимвольный стриминг ответов моделей (Server-Sent Events) |
| Лимиты ресурсов | Директивы mem_limit для всех сервисов |
Защита операционной системы хоста от зависания по OOM |
| Резервное копирование | Дамп в /etc/cron.d/ |
Безопасный ночной бэкап без затирания crontab пользователя |
Развертывание LibreChat на собственном VDS позволяет компании получить современный, быстрый и удобный инструмент работы с любыми нейросетями, гарантируя соблюдение конфиденциальности коммерческой информации и исключая зависимость от зарубежных облачных подписок.
🎯 Подберите производительный VDS для корпоративного AI-портала
Для мгновенного поиска по истории сообщений в MeiliSearch, быстрой работы базы MongoDB и плавной генерации токенов выбирайте серверы с современными высокочастотными ядрами процессора и скоростными NVMe-накопителями в дата-центрах уровня Tier III.