Разделы документации
Быстрый старт
Установка Charo на свой сервер, первый вход, подключение языковой модели и первого коннектора — от чистой машины до первого ответа ассистента.
Что понадобится
Charo разворачивается одним стеком Docker Compose на одной машине: веб-интерфейс, API, фоновый обработчик, исполнитель коннекторов, PostgreSQL, Valkey (кэш и очереди), векторное хранилище Qdrant, сервер моделей и обратный прокси Caddy. Наружу открывается только прокси.
От хоста нужен лишь Docker: всё остальное работает внутри контейнеров.
| Параметр | Минимум |
|---|---|
| CPU | 4 ядра |
| Память | 8 ГБ |
| Свободный диск | 40 ГБ |
| ПО | Docker с плагином Compose v2, bash |
Это минимум для установки, в которой языковая модель и модель поиска по документам внешние. Модель поиска по умолчанию работает локально — это ещё 2 ядра и 2 ГБ памяти сверх таблицы; локальная языковая модель добавляет заметно больше. Разбор — в «Требованиях».
Привязки к дистрибутиву нет: подойдёт любой Linux с Docker Engine и плагином
Compose. Образы публикуются под x86-64 (linux/amd64); на arm64 они пойдут
только через эмуляцию.
Полный разбор требований, портов и правил исходящего трафика — в разделе «Требования»; состав компонентов и что менять при масштабировании — в разделе «Архитектура».
Charo работает в вашем контуре: наружу трафик уходит только к тем внешним сервисам, которые вы сами подключите (облачные провайдеры моделей, облачные источники данных), плюс к реестру образов при установке и обновлении.
Установка
На сервере с установленным Docker выполните:
curl -fsSL https://charo.tech/install.sh | bash
Установщик проходит шесть шагов и по каждому задаёт вопрос со значением по умолчанию:
- Проверка окружения — есть ли
dockerи плагинcompose. - Проверка ресурсов — сколько памяти, ядер и диска доступно Docker.
- Сетевые настройки — домен либо порт. Если указать домен, Caddy сам выпустит сертификат Let’s Encrypt и займёт порты 80 и 443; без домена система открывается по HTTP на порту 80, а если он занят — на 3000.
- Папка установки и версия — по умолчанию
~/charoи та версия, которую ставит запущенный установщик. Менять её вручную обычно не нужно: чтобы обновиться, запустите более свежий установщик и выберите обновление. - Установка и запуск — скачиваются образы, поднимается стек, предзагружается модель поиска по документам.
- Готово — установщик печатает адрес системы и список полезных команд.
Выбирать модели при установке не нужно: поиск по документам сразу работает на
локальной модели multilingual-e5-small, а языковую модель вы подключаете
после первого входа. Обе можно сменить потом в админке.
Скрипт сам создаёт секреты (ключ шифрования учётных данных, секрет сессий,
пароль базы) и кладёт их в ~/charo/.env с правами 600. Файл нужно сохранить
в менеджере секретов: ключ шифрования нельзя сменить на работающей
установке — миграции перешифрования нет, и без него резервная копия базы
бесполезна.
Первый запуск занимает несколько минут: скачиваются образы и модель поиска по документам.
Что скачивается и откуда
Образы приходят из реестра charo.cr.cloud.ru — в том числе зеркала
PostgreSQL, Valkey, Qdrant и Caddy. Веса модели поиска по документам сервер
забирает с charo-models.s3-website.cloud.ru. Модели распознавания текста
скачивать не нужно — они уже внутри образа. Docker Hub не используется.
Для контура без выхода в интернет готового офлайн-пакета нет: образы и веса
моделей нужно заранее перенести во внутренний реестр и на внутреннее зеркало,
а адреса переопределить переменными окружения в .env. Установка на сервере
без доступа к сети завершится ошибкой на шаге скачивания.
Управление установкой
Все команды выполняются в папке установки:
docker compose ps # состояние контейнеров
docker compose logs -f # живые логи
docker compose stop # остановить, данные сохраняются
docker compose up -d # запустить снова
Повторный запуск установщика в существующей папке предложит перезапустить, обновить или удалить установку. Остановка и полное удаление доступны и флагами:
curl -fsSL https://charo.tech/install.sh | bash -s -- --shutdown
curl -fsSL https://charo.tech/install.sh | bash -s -- --delete-data
Документы и чаты живут в томах Docker charo_db_volume и charo_qdrant-data;
их удаляет только --delete-data.
Первый вход и администратор
Откройте адрес, который напечатал установщик: https://ваш-домен либо
http://адрес-сервера (или http://адрес-сервера:3000, если порт 80 был
занят).
Первый зарегистрированный пользователь автоматически получает роль администратора и попадает в группу администраторов. Зарегистрируйтесь с корпоративной почтой и надёжным паролем — эта учётная запись управляет всей инсталляцией. По умолчанию требуется пароль от 8 символов; требования к регистру, цифрам и спецсимволам включаются переменными окружения.
Остальных сотрудников администратор приглашает сам; роли и группы описаны в разделе «Права доступа».
Подключение языковой модели
Сразу после установки языковая модель не подключена — без неё работает поиск, но не ответы ассистента. Подключите провайдера:
- Откройте Админка → Языковые модели.
- Выберите провайдера: Yandex AI Studio, OpenAI, Anthropic, Azure OpenAI, OpenRouter, Ollama, LM Studio, LiteLLM Proxy или произвольный OpenAI-совместимый сервер.
- Укажите API-ключ (или адрес сервера, если модель работает в вашем контуре) и выберите модель по умолчанию.
Подробности, включая полностью автономную конфигурацию, — в разделе «Языковые модели».
Первый коннектор
Коннекторы подключают источники знаний: вики, файловые хранилища, задачи, почту. Чтобы быстро проверить систему:
- Откройте Админка → Добавление коннектора.
- Выберите «Загрузка файлов» и загрузите несколько документов — например, регламенты или инструкции.
- Дождитесь окончания индексации: на странице «Подключённые коннекторы» появится число проиндексированных документов и время последней синхронизации.
Полный список из восьми коннекторов — в обзоре коннекторов.
Первый вопрос ассистенту
Вернитесь на главный экран и задайте вопрос по загруженным документам. Ассистент найдёт релевантные фрагменты, сформулирует ответ и приложит ссылки на источники — каждую цитату можно раскрыть и проверить.
Что дальше
- Настройки индексации — модель поиска по документам и порядок её смены.
- Права доступа — роли, группы и наследование прав из источников.
- Лицензия — какие дополнительные функции открывает ключ и как его активировать.
- Поддержка — если что-то пошло не так.