Migration

Migrating an existing BirdNET-Pi to the Enhanced Version

If you already run BirdNET-Pi — Nachtzuster's fork or the original mcguirepr89 version — you don't need to start over. Your detections, recordings, and settings carry across. In the normal case this is three commands.

Back up before you start. A backup is the only supported way to return to your previous fork if you change your mind. Take one from Settings → System Controls → Backup data, and copy the resulting file somewhere that isn't the Pi.

Before you begin

You cannot upgrade Bullseye in place. Upgrading the underlying OS from Bullseye to Bookworm or Trixie without a fresh install does not work and will leave you with a broken system. If you're on Bullseye, image a new card, install fresh, and restore your data with the Restore tool — see the fresh-install route below.

The normal route: your OS is already correct

SSH into your Pi, then from inside the BirdNET-Pi directory:

cd ~/BirdNET-Pi
git remote remove origin
git remote add origin https://github.com/zach7036/BirdNET-Pi-Enhanced-Version.git
./scripts/update_birdnet.sh

That repoints your installation at the Enhanced repository and runs the standard updater, which pulls the new code and applies any schema changes. Your database, audio files, and configuration stay where they are.

When it finishes, reload the web interface. You should land on the new dashboard with your full detection history already present.

The fresh-install route: upgrading from Bullseye

If you need to move to a newer OS, treat it as a new station plus a data restore:

  1. On the old system, take a full backup and copy it off the Pi.
  2. Image a new SD card with 64-bit Raspberry Pi OS (Trixie recommended). See the installation guide.
  3. Install the Enhanced Version with the one-line installer.
  4. In the new web interface, go to Settings → System Controls and restore your backup.

Restoring can take a long while — it depends on how much audio you've accumulated and how fast your storage is. Let it finish.

After migrating

Two settings are worth checking immediately, because the new features depend on them:

Some of the newer pages need history to be interesting. Insights and seasonality compare against your own station's baseline, so give them a couple of weeks before judging them — though if you migrated with existing data, much of that is already available on day one.

Going back

Restore your backup. That is the supported route back to your previous fork, and it's the reason for taking one before you start.

Pointing the git remote back the other way and re-running the updater looks like it should work — the Enhanced Version only ever adds tables to the database and never alters the detections table, so your detection history itself isn't at risk. But the installation also carries configuration keys and service definitions that the older fork's updater doesn't know to clean up, and that path isn't tested. Restoring a backup onto a fresh install is the route that's known to work.

Something not working after migrating? Restarting the core services from Settings → Services resolves a surprising share of post-migration oddities. Beyond that, see troubleshooting or open an issue.