diff --git a/public/docs-static/img/how-to-guides/auto-update/dashboard.png b/public/docs-static/img/how-to-guides/auto-update/dashboard.png new file mode 100644 index 00000000..33352452 Binary files /dev/null and b/public/docs-static/img/how-to-guides/auto-update/dashboard.png differ diff --git a/src/components/NavigationDocs.jsx b/src/components/NavigationDocs.jsx index 9a53c85c..f4b595b4 100644 --- a/src/components/NavigationDocs.jsx +++ b/src/components/NavigationDocs.jsx @@ -91,6 +91,10 @@ export const docsNavigation = [ }, ] }, + { + title: 'Auto Update', + href: '/how-to/auto-update' + }, ] }, { diff --git a/src/pages/how-to/auto-update.mdx b/src/pages/how-to/auto-update.mdx new file mode 100644 index 00000000..b5d9202d --- /dev/null +++ b/src/pages/how-to/auto-update.mdx @@ -0,0 +1,72 @@ +import {Note} from "@/components/mdx"; + +# Client Automatic Updates + +The Automatic Updates feature allows the NetBird client to automatically update itself when a new version is available. This ensures that users always have the latest features and security patches without needing to manually download and install updates. + + + Minimum supported agent version: v0.61.0. + This or higher version must also be installed on the peers you need to Automatically Update. + + + + This feature also requires an upgraded NetBird Management server. + If you're self-hosting NetBird, ensure your server is updated to version v0.61.0, which adds support for Automatic Updates. + + + + This feature is currently under active development and will continue to evolve. Future releases will add Linux support, and handling for long-running peers. + + +## Enable Automatic Updates + +![Automatic Updates](/docs-static/img/how-to-guides/auto-update/dashboard.png) + +To enable client auto updates, navigate to [Settings » Clients](https://app.netbird.io/settings) and enable 'Automatic Updates'. + +You can either: + +* Update to latest stable version. +* Update to a specific version. + +Once enabled, NetBird clients will automatically check for updates when connecting via the UI and install the specified version if the current version is older than the specified version. + + +## How it works + +1. **User-Initiated Connection**: When a Peer connects to Management, it will receive the current Automatic Updates settings. +2. **Version Check**: The Peer will compare its current version with the version specified in the Automatic Updates settings. +3. **Update Process**: + 1. If the Peer is running an older version than specified, it will show a notification to the user indicating that an Automatic Update is under way. + 2. Client will then download the update package from the official NetBird repository. + 3. The Peer will then install the update and restart itself to apply the changes. + +## Supported Platforms + +Automatic Updates are supported on the following platforms only: +- Windows +- macOS (with PKG installer) + +Linux support is not available at this time due to the variety of distributions and package managers. A future release may include support for popular distributions. + +## Backward and Forward Compatibility + +* If Management server version < v0.61.0, clients will **not** automatically update. +* If Management server version >= v0.61.0, NetBird clients with version >= v0.61.0 will automatically update according to the Automatic Updates settings. + +## Notes + +1. Automatic Updates will be set to "disabled" by default. +2. If the Peer is unable to download or install the update (e.g., due to network issues), it will show an error notification but will not retry until the next restart. +3. For long-running Peers, a future release may include support for periodic update checks during runtime. +4. All notifications related to Automatic Updates will be shown only if NetBird UI is running and Notifications are enabled. + +## Get started +

+ +

+ +- Make sure to [star us on GitHub](https://github.com/netbirdio/netbird) +- Follow us [on X](https://x.com/netbird) +- Join our [Slack Channel](/slack-url) +- NetBird [latest release](https://github.com/netbirdio/netbird/releases) on GitHub