Обновление и резервные копии
Как обновлять открытое ядро Eggent, делать резервные копии папки data, проверять здоровье сервера, смотреть логи и переносить Eggent на другую машину.
Проверка, что всё работает
curl -fsS http://127.0.0.1:3000/api/health
Ответ содержит статус и версию Eggent. Эту же проверку можно поставить в мониторинг.
Команды docker compose ниже выполняются в папке установки (~/.eggent, если ставил установщиком). Логи контейнера:
docker compose logs -f --tail=200
Обновление
Перед обновлением сделай резервную копию.
Установлено установщиком — просто запусти его снова, он обновит код и пересоберёт контейнер:
curl -fsSL https://get.eggent.ai | bash
Готовый образ — поменяй EGGENT_VERSION в .env на новую версию и выполни:
docker compose -f docker-compose.ghcr.yml pull
docker compose -f docker-compose.ghcr.yml up -d
Из исходников:
git pull
docker compose up -d --build
Что изменилось в каждой версии — в релизах на GitHub.
Резервные копии
Всё состояние Eggent — это папка data/. Чтобы сделать копию, достаточно заархивировать её:
docker compose stop
tar czf eggent-data-$(date +%F).tgz data
docker compose start
Остановка нужна, чтобы файлы не менялись во время копирования. Храни копии вне сервера: в data/ лежат ключи и токены, так что относись к архиву как к секрету.
Перенос на другую машину
- Установи Eggent на новой машине тем же способом.
- Останови его и замени папку
data/копией со старой машины. - Запусти снова. Чаты, проекты, настройки, ключи, расписания и Telegram-бот переедут вместе с папкой.
Если меняется публичный адрес, поправь APP_BASE_URL и заново нажми Активировать бота в Настройки → Мессенджеры, чтобы Telegram узнал новый адрес вебхука.
Перезапуск и расписания
При запуске Eggent заново включает все сохранённые расписания. Запуски, пропущенные, пока сервер был выключен, не повторяются: задача выполнится в следующий раз по расписанию. Разовые задачи, время которых прошло, удаляются.
Модель распознавания речи
Модель whisper.cpp скачивается при первом распознавании в data/models/whisper/. Чтобы сменить её на более точную, задай EGGENT_STT_MODEL=small (или medium) и пересоздай контейнер; новая модель скачается сама. Без доступа в интернет положи файл ggml-<модель>.bin в эту папку вручную.