[GH-ISSUE #832] Auto-Update functionality for netbird client #1427

Closed
opened 2026-08-05 00:42:27 -04:00 by saavagebueno · 20 comments
Owner

Originally created by @giezi on GitHub (May 3, 2023).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/832

Is your feature request related to a problem? Please describe.
Client Updates are currently manual.

Describe the solution you'd like
It would be great if the netbird client had an auto update function. Users who don't want to should be able to disable it and update the client manually with a button in the client settings.

Originally created by @giezi on GitHub (May 3, 2023). Original GitHub issue: https://github.com/netbirdio/netbird/issues/832 **Is your feature request related to a problem? Please describe.** Client Updates are currently manual. **Describe the solution you'd like** It would be great if the netbird client had an auto update function. Users who don't want to should be able to disable it and update the client manually with a button in the client settings.
Author
Owner

@support-tt commented on GitHub (May 3, 2023):

yes this feature would be super nice because if you have like 100 peers the update stuff is very nasty especially on clients with users.

<!-- gh-comment-id:1532612458 --> @support-tt commented on GitHub (May 3, 2023): yes this feature would be super nice because if you have like 100 peers the update stuff is very nasty especially on clients with users.
Author
Owner

@lfarkas commented on GitHub (May 8, 2023):

if your os packaging system can do it for you (rpm, deb) from it's repo. android, ios also do it (will do it). what else?

<!-- gh-comment-id:1538194383 --> @lfarkas commented on GitHub (May 8, 2023): if your os packaging system can do it for you (rpm, deb) from it's repo. android, ios also do it (will do it). what else?
Author
Owner

@support-tt commented on GitHub (May 8, 2023):

if your os packaging system can do it for you (rpm, deb) from it's repo. android, ios also do it (will do it). what else?

yes for linux thats works but in Windows you have to do it manually.
Another point from my experience client user never click on update if the admin doesnt advise to do it so a "force" update button for the admin would be awesome maybe with a option to force update on the whole linux client (apt upgrade ...)

<!-- gh-comment-id:1538199926 --> @support-tt commented on GitHub (May 8, 2023): > if your os packaging system can do it for you (rpm, deb) from it's repo. android, ios also do it (will do it). what else? yes for linux thats works but in Windows you have to do it manually. Another point from my experience client user never click on update if the admin doesnt advise to do it so a "force" update button for the admin would be awesome maybe with a option to force update on the whole linux client (apt upgrade ...)
Author
Owner

@giezi commented on GitHub (May 8, 2023):

if your os packaging system can do it for you (rpm, deb) from it's repo. android, ios also do it (will do it). what else?

MacOS - I don't know if netbird would like to enter the Mac App Store... An auto-update of just the client would also be useful for Linux systems which are used for subnet routing.

<!-- gh-comment-id:1538213021 --> @giezi commented on GitHub (May 8, 2023): > if your os packaging system can do it for you (rpm, deb) from it's repo. android, ios also do it (will do it). what else? MacOS - I don't know if netbird would like to enter the Mac App Store... An auto-update of just the client would also be useful for Linux systems which are used for subnet routing.
Author
Owner

@lfarkas commented on GitHub (May 8, 2023):

auto update overwrite some file on the filesystem. in a normal os the filesystem integrity is very critical. which means replacing a file which checksum is calculated at build time is a security nightmare. of i know for windows the security is never been so critical, but from a security software...
may be a beta version can do it, may be some as playground it can be done, but in a real production environment it's never a option...
to show a popup or log a notice it's ok. to automatically do the update it's not.

<!-- gh-comment-id:1538231978 --> @lfarkas commented on GitHub (May 8, 2023): auto update overwrite some file on the filesystem. in a normal os the filesystem integrity is very critical. which means replacing a file which checksum is calculated at build time is a security nightmare. of i know for windows the security is never been so critical, but from a security software... may be a beta version can do it, may be some as playground it can be done, but in a real production environment it's never a option... to show a popup or log a notice it's ok. to automatically do the update it's not.
Author
Owner

@giezi commented on GitHub (May 8, 2023):

auto update overwrite some file on the filesystem. in a normal os the filesystem integrity is very critical. which means replacing a file which checksum is calculated at build time is a security nightmare. of i know for windows the security is never been so critical, but from a security software... may be a beta version can do it, may be some as playground it can be done, but in a real production environment it's never a option... to show a popup or log a notice it's ok. to automatically do the update it's not.

Of course, the auto-update functionality should be an optional feature.

<!-- gh-comment-id:1538234111 --> @giezi commented on GitHub (May 8, 2023): > auto update overwrite some file on the filesystem. in a normal os the filesystem integrity is very critical. which means replacing a file which checksum is calculated at build time is a security nightmare. of i know for windows the security is never been so critical, but from a security software... may be a beta version can do it, may be some as playground it can be done, but in a real production environment it's never a option... to show a popup or log a notice it's ok. to automatically do the update it's not. Of course, the auto-update functionality should be an optional feature.
Author
Owner

@Rob787 commented on GitHub (Nov 25, 2024):

+1 From our side as well. It is now a nightmare to manage. If at least the Windows client would trigger/ask users to update to new version that would help enormously already.

<!-- gh-comment-id:2497736849 --> @Rob787 commented on GitHub (Nov 25, 2024): +1 From our side as well. It is now a nightmare to manage. If at least the Windows client would trigger/ask users to update to new version that would help enormously already.
Author
Owner

@ruairinewman commented on GitHub (Mar 30, 2025):

auto update overwrite some file on the filesystem. in a normal os the filesystem integrity is very critical. which means replacing a file which checksum is calculated at build time is a security nightmare. of i know for windows the security is never been so critical, but from a security software... may be a beta version can do it, may be some as playground it can be done, but in a real production environment it's never a option... to show a popup or log a notice it's ok. to automatically do the update it's not.

From an Enterprise perspective, being able to push upgrades from the management console to a given machine, or group of machines, to a specified version (meaning that we can run a couple of versions behind release if desired, for example), would be a great feature to have.

By groups of machines, I mean being able to allocate upgrades to machines:

  1. in a specific network, or
  2. currently running a specific version or
  3. currently running a version older than a given release, or
  4. machines matching a given tag within Netbird (a basic tagging API would probably be a prerequisite for this - did I miss one? There doesn't seem to be one referred to in the API docs, at a glance.)
<!-- gh-comment-id:2764590576 --> @ruairinewman commented on GitHub (Mar 30, 2025): > auto update overwrite some file on the filesystem. in a normal os the filesystem integrity is very critical. which means replacing a file which checksum is calculated at build time is a security nightmare. of i know for windows the security is never been so critical, but from a security software... may be a beta version can do it, may be some as playground it can be done, but in a real production environment it's never a option... to show a popup or log a notice it's ok. to automatically do the update it's not. From an Enterprise perspective, being able to push upgrades from the management console to a given machine, or group of machines, to a specified version (meaning that we can run a couple of versions behind release if desired, for example), would be a great feature to have. By groups of machines, I mean being able to allocate upgrades to machines: 1. in a specific network, or 2. currently running a specific version or 3. currently running a version older than a given release, or 4. machines matching a given tag within Netbird (a basic tagging API would probably be a prerequisite for this - did I miss one? There doesn't seem to be one referred to in the API docs, at a glance.)
Author
Owner

@Dyc9 commented on GitHub (Oct 28, 2025):

Hi,
Is this feature planned for release, or will it not be implemented?
We have over 100 users, and doing manual updates is quite a pain.

<!-- gh-comment-id:3457376186 --> @Dyc9 commented on GitHub (Oct 28, 2025): Hi, Is this feature planned for release, or will it not be implemented? We have over 100 users, and doing manual updates is quite a pain.
Author
Owner

@GENnetuk-DEV commented on GitHub (Nov 21, 2025):

I've been testing NetBird for a couple of months on the side really, and I love it, but the lack of any sort of automatic or remote update is going to prevent me going any further at this time - I'm sure it'll come and when it does I'll be back 💯
Keep up the great work!

<!-- gh-comment-id:3562281834 --> @GENnetuk-DEV commented on GitHub (Nov 21, 2025): I've been testing NetBird for a couple of months on the side really, and I love it, but the lack of any sort of automatic or remote update is going to prevent me going any further at this time - I'm sure it'll come and when it does I'll be back 💯 Keep up the great work!
Author
Owner

@pete1019 commented on GitHub (Nov 30, 2025):

I feel there were 3 Updates in the last week. Auto-Update is so needed.
Thanks

<!-- gh-comment-id:3592300408 --> @pete1019 commented on GitHub (Nov 30, 2025): I feel there were 3 Updates in the last week. Auto-Update is so needed. Thanks
Author
Owner

@Kofl commented on GitHub (Nov 30, 2025):

For Windows would suggest an Upgrade Helper Service which should be part of the Client's automatic update process.

A service that monitors and attempts to reinstall the client if an upgrade fails, such as during a system restart or failed upgrade to rollback.

<!-- gh-comment-id:3592329950 --> @Kofl commented on GitHub (Nov 30, 2025): For Windows would suggest an Upgrade Helper Service which should be part of the Client's automatic update process. A service that monitors and attempts to reinstall the client if an upgrade fails, such as during a system restart or failed upgrade to rollback.
Author
Owner

@NetHorror commented on GitHub (Dec 10, 2025):

Just in case it helps someone while a native auto-update is being discussed here:

I’ve published a small set of helper scripts that implement delayed / staged auto-updates for NetBird on the client side (Windows, macOS, Linux). They don’t depend on the NetBird dashboard and are built around the OS package managers / installers:

Windows Linux macOS

Key ideas:

  • no auto-install (only upgrade if NetBird is already present),
  • new versions must “age” N days before being installed (to avoid short-lived/broken releases),
  • daily scheduled checks (Task Scheduler / systemd timer / launchd),
  • logs and simple local state (JSON) on each machine.

These are not a replacement for a first-class auto-update feature in NetBird itself, but they’ve been useful to keep clients reasonably up to date with some safety margin.

<!-- gh-comment-id:3635897678 --> @NetHorror commented on GitHub (Dec 10, 2025): Just in case it helps someone while a native auto-update is being discussed here: I’ve published a small set of helper scripts that implement **delayed / staged auto-updates** for NetBird on the client side (Windows, macOS, Linux). They don’t depend on the NetBird dashboard and are built around the OS package managers / installers: [![Windows](https://img.shields.io/badge/Windows-blue)](https://github.com/NetHorror/netbird-delayed-auto-update-windows) [![Linux](https://img.shields.io/badge/Linux-green)](https://github.com/NetHorror/netbird-delayed-auto-update-linux) [![macOS](https://img.shields.io/badge/macOS-lightgrey)](https://github.com/NetHorror/netbird-delayed-auto-update-macos) Key ideas: - no auto-install (only upgrade if NetBird is already present), - new versions must “age” N days before being installed (to avoid short-lived/broken releases), - daily scheduled checks (Task Scheduler / systemd timer / launchd), - logs and simple local state (JSON) on each machine. These are not a replacement for a first-class auto-update feature in NetBird itself, but they’ve been useful to keep clients reasonably up to date with some safety margin.
Author
Owner

@ageorge95 commented on GitHub (Dec 23, 2025):

Hi,

I am also using Netbird on some of my Windows computers and updating it on all of them is a time consuming task.

I saw some scripts here but they were too complex, for me at least, so I created a VERY BASIC batch script that uninstalls Netbird, downloads the new version, installs it and at the end starts the GUI.

The code is here https://gist.github.com/ageorge95/949b420c862af9bb529b115640247216, feel free to use it if you want.

I have just used it to update to Netbird 0.60.9 and it worked as expected on all computers.

P.S. it was created with some trial and error from my side and with the coding expertise of ChatGPT, so if you spot anything strange there, you know who to blame 😁

<!-- gh-comment-id:3686040239 --> @ageorge95 commented on GitHub (Dec 23, 2025): Hi, I am also using Netbird on some of my **Windows** computers and updating it on all of them is a time consuming task. I saw some scripts here but they were too complex, for me at least, so I created a VERY **BASIC batch script** that uninstalls Netbird, downloads the new version, installs it and at the end starts the GUI. The code is here https://gist.github.com/ageorge95/949b420c862af9bb529b115640247216, feel free to use it if you want. I have just used it to update to Netbird 0.60.9 and it worked as expected on all computers. P.S. it was created with some trial and error from my side and with the coding expertise of ChatGPT, so if you spot anything strange there, you know who to blame 😁
Author
Owner

@NetHorror commented on GitHub (Dec 23, 2025):

ageorge95, Sooner or later, you'll fall into a trap when they release an update that won't connect and the client will be left without a VPN. I've been in similar situations with other products many times. That's why now I never install updates after they're released.

<!-- gh-comment-id:3686564411 --> @NetHorror commented on GitHub (Dec 23, 2025): [ageorge95](https://github.com/ageorge95), Sooner or later, you'll fall into a trap when they release an update that won't connect and the client will be left without a VPN. I've been in similar situations with other products many times. That's why now I never install updates after they're released.
Author
Owner

@pete1019 commented on GitHub (Dec 23, 2025):

ageorge95, Sooner or later, you'll fall into a trap when they release an update that won't connect and the client will be left without a VPN. I've been in similar situations with other products many times. That's why now I never install updates after they're released.

No problem to implement a delay.

<!-- gh-comment-id:3686572221 --> @pete1019 commented on GitHub (Dec 23, 2025): > [ageorge95](https://github.com/ageorge95), Sooner or later, you'll fall into a trap when they release an update that won't connect and the client will be left without a VPN. I've been in similar situations with other products many times. That's why now I never install updates after they're released. No problem to implement a delay.
Author
Owner

@NetHorror commented on GitHub (Dec 23, 2025):

This script won't help with the delay, but mine will. In any case, it's your decision.

<!-- gh-comment-id:3686694838 --> @NetHorror commented on GitHub (Dec 23, 2025): This script won't help with the delay, but mine will. In any case, it's your decision.
Author
Owner

@Dyc9 commented on GitHub (May 8, 2026):

Is it implemented?
From which version?

<!-- gh-comment-id:4405748903 --> @Dyc9 commented on GitHub (May 8, 2026): Is it implemented? From which version?
Author
Owner

@NetHorror commented on GitHub (May 8, 2026):

Is it implemented?
From which version?

as I remember from 0.61.0

<!-- gh-comment-id:4405759875 --> @NetHorror commented on GitHub (May 8, 2026): > Is it implemented? > From which version? as I remember from 0.61.0
Author
Owner

@jnfrati commented on GitHub (May 8, 2026):

Here are the docs referring to this feature! https://docs.netbird.io/manage/peers/auto-update

If the current behavior still don't match what you were expecting feel free to open a new feature request or an issue and we'll take a look!

<!-- gh-comment-id:4405786815 --> @jnfrati commented on GitHub (May 8, 2026): Here are the docs referring to this feature! https://docs.netbird.io/manage/peers/auto-update If the current behavior still don't match what you were expecting feel free to open a new [feature request or an issue](https://github.com/netbirdio/netbird/discussions/new/choose) and we'll take a look!
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#1427