Skip to main content
This guide covers upgrading NetBird components across different deployment scenarios.

Version Compatibility

NetBird maintains backward compatibility. Newer servers work with older clients, but using the latest versions on both sides is recommended.

Compatibility Matrix

  • Management Server: Can manage clients from the last 3 major versions
  • Signal Server: Compatible with all client versions from the same major release
  • Relay Server: Compatible with all client versions from the same major release
  • Clients: Can connect to management servers from the same major version
Always upgrade server components before upgrading clients to ensure compatibility.

Upgrade Order

1

Upgrade Management Server

The management server should be upgraded first as it maintains compatibility with older clients.
2

Upgrade Signal Server

Signal servers can be upgraded while clients are connected with minimal disruption.
3

Upgrade Relay Server

Relay servers can be upgraded independently. Active relay connections will reconnect automatically.
4

Upgrade Clients

Clients can be upgraded in batches or all at once after servers are upgraded.

Checking Versions

Client Version

Output:

Server Versions

Upgrading Servers

Docker Compose Upgrade

This is the most common self-hosted deployment method.
1

Backup configuration and data

2

Update docker-compose.yml

3

Pull new images

4

Restart services

5

Verify upgrade

Environment Variables Upgrade

Alternatively, manage versions via environment variables:
Then upgrade:

Kubernetes Upgrade

Rolling Back Servers

If issues occur after upgrade:
1

Docker Compose Rollback

2

Kubernetes Rollback

Upgrading Clients

Linux Client

Windows Client

  1. Download latest MSI from GitHub Releases
  2. Run the installer
  3. Choose “Upgrade” when prompted
  4. Service restarts automatically
  5. Verify in system tray or:

macOS Client

  1. Download latest PKG from GitHub Releases
  2. Run the installer
  3. Service restarts automatically
  4. Verify:

Client Upgrade Validation

After upgrading clients:

Automated Client Upgrades

Fleet Management

Run:

Migration Scenarios

Migrating from SQLite to PostgreSQL

This requires downtime. Schedule during maintenance window.
1

Backup existing data

2

Setup PostgreSQL

3

Update management configuration

4

Start with new database

5

Re-register peers

Existing peers will need to re-authenticate after database migration.

Breaking Changes

Check release notes for breaking changes before upgrading:
  • Configuration file format changes
  • API endpoint modifications
  • Deprecated feature removals
  • Database schema changes
Always review the release notes before upgrading.

Zero-Downtime Upgrades

For production environments:

Server High Availability

1

Deploy multiple management servers

Use load balancer to distribute traffic across multiple management instances.
2

Rolling upgrade

3

Monitor during upgrade

Post-Upgrade Checklist

1

Verify all services are running

2

Check metrics and monitoring

3

Test peer connectivity

4

Review logs for errors

5

Update documentation

Document the new version and any configuration changes made.