Upgrades and backups
How to upgrade the Eggent open core, back up the data folder, check the server's health, read logs and move Eggent to another machine.
Checking that it works
curl -fsS http://127.0.0.1:3000/api/health
The answer contains the status and the Eggent version. The same check works for monitoring.
The docker compose commands below run in the install folder (~/.eggent if you used the installer). Container logs:
docker compose logs -f --tail=200
Upgrading
Make a backup before upgrading.
Installed with the installer — just run it again; it updates the code and rebuilds the container:
curl -fsSL https://get.eggent.ai | bash
The published image — change EGGENT_VERSION in .env to the new version and run:
docker compose -f docker-compose.ghcr.yml pull
docker compose -f docker-compose.ghcr.yml up -d
From source:
git pull
docker compose up -d --build
What changed in each version is in the GitHub releases.
Backups
All of Eggent's state is the data/ folder. To back it up, archive it:
docker compose stop
tar czf eggent-data-$(date +%F).tgz data
docker compose start
Stopping keeps files from changing during the copy. Keep backups off the server: data/ holds keys and tokens, so treat the archive as a secret.
Moving to another machine
- Install Eggent on the new machine the same way.
- Stop it and replace its
data/folder with the copy from the old machine. - Start it again. Chats, projects, settings, keys, schedules and the Telegram bot all move with the folder.
If the public address changes, update APP_BASE_URL and press Activate Bot again in Settings → Messengers so Telegram learns the new webhook address.
Restarts and schedules
On start-up Eggent re-arms every saved schedule. Runs missed while the server was off are not repeated: the task runs at its next scheduled time. One-off tasks whose time has passed are removed.
The speech recognition model
The whisper.cpp model is downloaded on the first transcription into data/models/whisper/. For a more accurate one, set EGGENT_STT_MODEL=small (or medium) and recreate the container; the new model downloads by itself. Without internet access, put the ggml-<model>.bin file in that folder by hand.