Подключение к серверу Dolt
Beadbox может подключаться к работающему SQL-серверу Dolt, обеспечивая многопользовательский доступ и командные рабочие процессы поверх тех же баз данных beads, которые вы используете из CLI.
Требуется Beadbox 0.9.12+ Проверьте вашу версию в Настройки > О программе или на /api/version.
Предварительные требования
Перед началом вам нужны три работающих компонента:
| Компонент | Минимальная версия | Проверка |
|---|---|---|
beads CLI (bd) | 0.56.x+ | bd --version |
| Сервер Dolt | Запущен и принимает подключения | dolt sql-server в вашем проекте |
| Beadbox | 0.9.12+ | Настройки > О программе |
На вашем сервере Dolt должна быть хотя бы одна база данных с именем, соответствующим соглашению beads_. Именно так beads создаёт базу при запуске bd init в режиме Dolt. Beadbox использует этот префикс для обнаружения баз данных beads и игнорирования остальных.
Быстрый старт (локально, без аутентификации)
Самый быстрый способ: сервер Dolt на вашей машине без настроенной аутентификации.
1. Запустите сервер Dolt
cd ~/Projects/myproject
dolt sql-serverПо умолчанию Dolt слушает порт 3307.
2. Откройте Beadbox
В окне выбора воркспейса нажмите Добавить по серверу (или найдите карточку Дополнительно на экране приветствия при первом запуске).
3. Введите параметры подключения
| Хост | 127.0.0.1 (заполнено заранее) |
| Порт | 3307 (заполнено заранее) |
| Пользователь | root (заполнено заранее) |
| Пароль | оставьте пустым |
| TLS | не отмечено |
4. Нажмите "Обнаружить базы данных"
Beadbox подключается к серверу и выполняет SHOW DATABASES для поиска всех баз данных, соответствующих шаблону beads_*.
5. Выберите базы данных
На экране обнаружения перечислены все найденные базы данных beads на сервере. Отметьте те, которые хотите добавить как воркспейсы. Для каждой назначается локальный путь к каталогу.
6. Нажмите "Добавить воркспейсы"
Beadbox создаёт локальный каталог .beads/ с файлом metadata.json, указывающим на ваш сервер, регистрирует воркспейс и открывает его.
Вы подключены. Изменения, сделанные через bd в CLI или другими членами команды, пишущими в тот же сервер Dolt, появятся в Beadbox в течение нескольких секунд (серверный режим опрашивает изменения с интервалом в 1 секунду).
Подключение с аутентификацией
Если ваш сервер Dolt требует имя пользователя и пароль:
- Выполните те же шаги, что и в Быстром старте, но заполните поля Пользователь и Пароль учётными данными вашего сервера Dolt.
- Если требуется TLS (обычно для удалённых серверов), установите флажок Использовать TLS.
- Нажмите Обнаружить базы данных и продолжите обнаружение.
Как обрабатываются пароли
- Пароли хранятся только в оперативной памяти. Beadbox никогда не записывает ваш пароль на диск.
- При перезапуске Beadbox пароль теряется. Чтобы не вводить его при каждом запуске, задайте BEADS_DOLT_PASSWORD в профиле вашей оболочки (см. Сохранение пароля).
- Внутри Beadbox передаёт пароль в bd CLI через переменную окружения BEADS_DOLT_PASSWORD при каждом вызове подпроцесса.
Hosted Dolt и удалённые серверы
Для серверов Dolt, работающих на удалённой машине, облачной виртуальной машине или Hosted Dolt:
- Хост: Введите имя хоста или IP-адрес вашего сервера.
- Порт: Используйте порт, указанный вашим провайдером. Hosted Dolt обычно использует 3306.
- Пользователь/Пароль: Введите учётные данные от вашего провайдера.
- TLS: Отметьте "Использовать TLS" (обязательно для Hosted Dolt и рекомендуется для любого удалённого подключения).
- Нажмите Обнаружить базы данных и продолжите как обычно.
Сохранение пароля
Beadbox хранит пароли только в оперативной памяти, поэтому они теряются при перезапуске. Для любого сервера с аутентификацией (локального или удалённого) вы можете избежать повторного ввода пароля, задав его в профиле оболочки:
export BEADS_DOLT_PASSWORD="your-password-here"Beadbox подхватывает это автоматически для всех воркспейсов в серверном режиме. Поле пароля в интерфейсе имеет приоритет, если заданы оба.
Как это работает
При добавлении серверного воркспейса Beadbox выполняет три действия:
1. Записывает метаданные подключения
Создаёт файл .beads/metadata.json в локальном каталоге проекта с деталями подключения к серверу:
{
"dolt_mode": "server",
"dolt_server_host": "127.0.0.1",
"dolt_server_port": 3307,
"dolt_database": "beads_myproject",
"dolt_server_user": "root",
"database": "dolt"
}При включённом TLS добавляется ключ "dolt_server_tls": true. Этот файл указывает bd подключаться к удалённому серверу вместо использования локальной встроенной базы данных. Пароль намеренно отсутствует в этом файле.
2. Регистрирует воркспейс
Локальный каталог добавляется в ~/.beads/registry.json, чтобы Beadbox и bd могли найти его при следующих запусках.
3. Передаёт учётные данные во время выполнения
Каждый раз, когда Beadbox вызывает команду bd для этого воркспейса, он устанавливает BEADS_DOLT_PASSWORD в окружении подпроцесса. Пароль существует только в памяти процесса.
Устранение неполадок
Отказано в подключении
Error: connect ECONNREFUSED 127.0.0.1:3307- Dolt запущен? Проверьте с помощью ps aux | grep dolt или попробуйте dolt sql-server в каталоге проекта.
- Правильный порт? По умолчанию Dolt использует 3307, но вы могли настроить другой порт.
- Файрвол? На удалённых серверах убедитесь, что порт открыт для входящих подключений.
Доступ запрещён
Error: Access denied for user 'root'- Требуется пароль? На вашем сервере Dolt может быть включена аутентификация. Введите пароль в форме подключения.
- Неправильный пользователь? Убедитесь, что имя пользователя соответствует пользователю Dolt с правами на чтение.
- Неправильный пароль? Пароли не сохраняются между сессиями. Введите его повторно после перезапуска Beadbox.
Ошибка TLS-рукопожатия
Error: TLS handshake failed- Несовпадение флажка TLS. Если сервер требует TLS, отметьте "Использовать TLS". Если он не поддерживает TLS, снимите флажок. Неправильная настройка в любом направлении вызывает ошибку рукопожатия.
- Самоподписанные сертификаты. Если ваш сервер Dolt использует самоподписанный сертификат, возможно, потребуется добавить центр сертификации в системное хранилище доверия. bd CLI использует системный пул корневых сертификатов и отклоняет недоверенные сертификаты.
Базы данных не найдены
No beads databases found on 127.0.0.1:3307.
Databases must follow the beads_* naming pattern.- Соглашение об именовании. Beadbox обнаруживает только базы данных, имена которых начинаются с beads_. Если ваша база данных названа иначе, переименуйте её или создайте новую с помощью bd init в режиме Dolt.
- База данных существует, но не видна? У учётной записи пользователя может не быть разрешения видеть все базы данных.
- Свежий сервер? Если вы только что запустили Dolt без инициализации beads, баз данных beads ещё нет. Выполните bd init в каталоге проекта с настроенным режимом Dolt, затем повторите обнаружение.