EGGENT документация
Свой сервер

Обновление и резервные копии

Как обновлять открытое ядро 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/ лежат ключи и токены, так что относись к архиву как к секрету.

Перенос на другую машину

  1. Установи Eggent на новой машине тем же способом.
  2. Останови его и замени папку data/ копией со старой машины.
  3. Запусти снова. Чаты, проекты, настройки, ключи, расписания и Telegram-бот переедут вместе с папкой.

Если меняется публичный адрес, поправь APP_BASE_URL и заново нажми Активировать бота в Настройки → Мессенджеры, чтобы Telegram узнал новый адрес вебхука.

Перезапуск и расписания

При запуске Eggent заново включает все сохранённые расписания. Запуски, пропущенные, пока сервер был выключен, не повторяются: задача выполнится в следующий раз по расписанию. Разовые задачи, время которых прошло, удаляются.

Модель распознавания речи

Модель whisper.cpp скачивается при первом распознавании в data/models/whisper/. Чтобы сменить её на более точную, задай EGGENT_STT_MODEL=small (или medium) и пересоздай контейнер; новая модель скачается сама. Без доступа в интернет положи файл ggml-<модель>.bin в эту папку вручную.