From 946bf517a3ea55974d01e8b10933f4090c660ad7 Mon Sep 17 00:00:00 2001 From: Brandon Hopkins Date: Wed, 25 Jun 2025 12:48:16 -0700 Subject: [PATCH 1/2] Installation reorganization - Added separate pages for platforms with a new `/how-to/installation` directory - Condensed the main installation.mdx with a list of platforms - Added new drop down and links under NavigationDocs.jsx --- src/components/NavigationDocs.jsx | 24 +- src/pages/how-to/installation.mdx | 368 +-------------------- src/pages/how-to/installation/docker.mdx | 82 +++++ src/pages/how-to/installation/linux.mdx | 248 ++++++++++++++ src/pages/how-to/installation/macos.mdx | 136 ++++++++ src/pages/how-to/installation/mobile.mdx | 26 ++ src/pages/how-to/installation/synology.mdx | 117 +++++++ src/pages/how-to/installation/windows.mdx | 69 ++++ 8 files changed, 708 insertions(+), 362 deletions(-) create mode 100644 src/pages/how-to/installation/docker.mdx create mode 100644 src/pages/how-to/installation/linux.mdx create mode 100644 src/pages/how-to/installation/macos.mdx create mode 100644 src/pages/how-to/installation/mobile.mdx create mode 100644 src/pages/how-to/installation/synology.mdx create mode 100644 src/pages/how-to/installation/windows.mdx diff --git a/src/components/NavigationDocs.jsx b/src/components/NavigationDocs.jsx index 07ca5721..0955206b 100644 --- a/src/components/NavigationDocs.jsx +++ b/src/components/NavigationDocs.jsx @@ -29,15 +29,21 @@ export const docsNavigation = [ { title: 'GET STARTED', links: [ - { title: 'Quickstart Guide', href: '/how-to/getting-started' }, - {title: 'Install NetBird', href: '/how-to/installation' }, - { title: 'CLI', href: '/how-to/cli' }, - - /* { title: 'Update NetBird', href: '/how-to/enforce-periodic-user-authentication' },*/ - - - ], - }, + { title: 'Quickstart Guide', href: '/how-to/getting-started' }, + { + title: 'Install NetBird', isOpen: true, href: '/how-to/installation', + links: [ + { title: 'Linux', href: '/how-to/installation/linux' }, + { title: 'Windows', href: '/how-to/installation/windows' }, + { title: 'MacOS', href: '/how-to/installation/macos' }, + { title: 'Docker', href: '/how-to/installation/docker' }, + { title: 'Synology', href: '/how-to/installation/synology' }, + { title: 'Android/iOS', href: '/how-to/installation/mobile' }, + ], + }, + { title: 'CLI', href: '/how-to/cli' }, + ], + }, { title: 'MANAGE NETBIRD', links: [ diff --git a/src/pages/how-to/installation.mdx b/src/pages/how-to/installation.mdx index cd641f23..0e1b002f 100644 --- a/src/pages/how-to/installation.mdx +++ b/src/pages/how-to/installation.mdx @@ -1,316 +1,24 @@ import {Note} from "@/components/mdx"; -export const title = 'Installation' +# Install NetBird -## Installation +If you're a new user you should visit the [Quickstart Guide](https://docs.netbird.io/how-to/getting-started). This will help you setup your managment dashboard and connect your first client. For quick install instructions, including desktop applications, visit the [install prompt](https://app.netbird.io/install) through the management dashboard. To view all the client installation methods we've set up a varity of platform specific pages. -The NetBird client (agent) allows a peer to join a pre-existing NetBird deployment. If a NetBird deployment is not yet available, there are both managed and [self-hosted](https://docs.netbird.io/selfhosted/selfhosted-quickstart) options available. - -### Linux - -**Install with one command** - -```bash -curl -fsSL https://pkgs.netbird.io/install.sh | sh -``` - -**APT/Debian** -1. Add the repository: - - ```bash - sudo apt-get update - sudo apt-get install ca-certificates curl gnupg -y - curl -sSL https://pkgs.netbird.io/debian/public.key | sudo gpg --dearmor --output /usr/share/keyrings/netbird-archive-keyring.gpg - echo 'deb [signed-by=/usr/share/keyrings/netbird-archive-keyring.gpg] https://pkgs.netbird.io/debian stable main' | sudo tee /etc/apt/sources.list.d/netbird.list -``` -2. Update APT's cache - -```bash - sudo apt-get update -``` -3. Install the package - -```bash - # for CLI only - sudo apt-get install netbird - # for GUI package - sudo apt-get install netbird-ui -``` - -**RPM/Red hat/Amazon Linux 2** - -1. Add the repository: -```bash -sudo tee /etc/yum.repos.d/netbird.repo <Download NetBird for Intel - - M1 & M2:
-_If you require an older version checkout NetBird [releases](https://github.com/netbirdio/netbird/releases/latest)_ -2. Proceed with the installation steps -3. This will install the NetBird app into /Applications and add the daemon service -4. After installing, you can follow the steps from [Running NetBird with SSO Login](#Running-NetBird-with-SSO-Login) steps. -> To uninstall the client remove the app from /Applications - -**Homebrew install** -1. Download and install homebrew at https://brew.sh/ -2. If netbird was previously installed with homebrew, you will need to run: -```bash -# Stop and uninstall daemon service: -sudo netbird service stop -sudo netbird service uninstall -# unlink the app -brew unlink netbird -``` -> netbird will copy any existing configuration from the netbird's default configuration paths to the new NetBird's default location - -3. Install the client -```bash - # for CLI only - brew install netbirdio/tap/netbird - # for GUI package - brew install --cask netbirdio/tap/netbird-ui -``` -4. If you installed CLI only, you need to install and start the client daemon service: - ```bash - sudo netbird service install - sudo netbird service start -``` +
- -
-2. Execute the installer and proceed with the installation steps -3. This will install the UI client in the `C:\Program Files\NetBird` and add the daemon service -4. After installing, you can follow the steps from [Running NetBird with SSO Login](#running-net-bird-with-sso-login). - - To uninstall the client and service, you can use Add/Remove programs - - -### Synology - -**Installation Steps** - -Installing a NetBird Peer on Synology will require a few additional steps compared to a typical Linux install despite using the same single line command to get everything going. - -1. Ensure your user has administrative privileges. _Control Panel > User & Group > User > Click User and Edit > User Groups > Ensure “administrators” is checked._ -2. Enable SSH Connectivity. _Control Panel > Terminal & SNMP > Terminal > Check the box next to “Enable SSH Service” > Click Apply_ -3. Login to your user using SSH. If you’re unsure if your Synology IP address it can be found under _Control Panel > Info Center > Network > DNS_ or using the [Synology Find Tool](https://finds.synology.com/). Open a terminal and run the command to connecting replacing the user and IP address with your own. - -```bash -ssh user@192.168.0.53 -``` - -4. Install with one command. - -```bash -curl -fsSL https://pkgs.netbird.io/install.sh | sh -``` - -5. Add your Synology NAS as a Peer using the steps from [Add peers to your NetBird network](https://docs.netbird.io/how-to/add-machines-to-your-network) in the documentation. - -**Reboot Script** - -In some cases on Synology, the NetBird service will not have the correct modules loaded on a reboot. In this case you’ll need to run a script every time you reboot your NAS. To automate this process, you can create a scheduled task in the Synology DSM. - -1. _Control Panel > Task Scheduler > Create > Triggered Task > User defined script_. -2. Now you’ll have a _Create Task_ dialog box. Give a task name such as “Netbird Reboot”. Set the _User > Root_ and the _Event > Boot-up_. Make sure the Enable Box is checked. -3. Next, click on _Task Settings_ and copy/paste the script in the text field under _Run command > User-defined script_. - -```sh -#!/bin/sh - -# Create the necessary file structure for /dev/net/tun -if [ ! -c /dev/net/tun ]; then - if [ ! -d /dev/net ]; then - mkdir -m 755 /dev/net - fi - mknod /dev/net/tun c 10 200 - chmod 0755 /dev/net/tun -fi - -# Load the tun module if not already loaded -if !(lsmod | grep -q "^tun\s"); then - insmod /lib/modules/tun.ko -fi -``` -4. If you’d like to see the logs for this task, select the task you create and click on Settings. Check the box that says Save output results, select a save location, and click OK. Now, if you select the task and **Action > View Result**, you’ll see any error logs and status. - -### Android - -NetBird has an official Android application that you can download at Google Play Store: - -

- - playstore - - -

- -APK releases are also available to install directly on your Android device via the [NetBird GitHub repository](https://github.com/netbirdio/netbird/releases). - -### iOS - -NetBird has an official iOS application that you can download from the App Store: - -

- - appstore - -

- -### Binary Install -**Installation from binary (CLI only)** - -1. Checkout NetBird [releases](https://github.com/netbirdio/netbird/releases/latest) -2. Download the latest release: -```bash - curl -L -o ./netbird_.tar.gz https://github.com/netbirdio/netbird/releases/download/v/netbird___.tar.gz -``` - - - - You need to replace some variables from the URL above: - - - Replace **VERSION** with the latest released version. - - Replace **OS** with "linux", "darwin" for MacOS or "windows" - - Replace **Arch** with your target system CPU architecture +The NetBird client (agent) allows a peer to join a pre-existing NetBird deployment. If a NetBird deployment is not yet available, there are both managed and [self-hosted](https://docs.netbird.io/selfhosted/selfhosted-quickstart) options available. - +## Install and Update Instructions -3. Decompress -```bash - tar xzf ./netbird_.tar.gz - sudo mv netbird /usr/bin/netbird - sudo chown root:root /usr/bin/netbird - sudo chmod +x /usr/bin/netbird -``` -After that you may need to add /usr/bin in your PATH environment variable: -````bash - export PATH=$PATH:/usr/bin -```` -4. Install and run the service -```bash - sudo netbird service install - sudo netbird service start -``` +* [Install on Linux](/how-to/installation/linux) +* [Install on macOS](/how-to/installation/macos) +* [Install on Windows](/how-to/installation/windows) +* [Install on Synology](/how-to/installation/synology) +* [Install on Android](/how-to/installation/mobile) +* [Install on iOS](/how-to/installation/mobile) -### Running NetBird with SSO Login -#### Desktop UI Application +## Running NetBird with SSO Login +### Desktop UI Application If you installed the Desktop UI client, you can launch it and click on Connect. > It will open your browser, and you will be prompt for email and password. Follow the instructions. @@ -318,7 +26,7 @@ If you installed the Desktop UI client, you can launch it and click on Connect. high-level-dia

-#### CLI +### CLI Alternatively, you could use command line. Simply run ```bash netbird up @@ -334,7 +42,7 @@ Check connection status: netbird status ``` -### Running NetBird with a Setup Key +## Running NetBird with a Setup Key In case you are activating a server peer, you can use a [setup key](/how-to/register-machines-using-setup-keys) as described in the steps below. > This is especially helpful when you are running multiple server instances with infrastructure-as-code tools like ansible and terraform. @@ -377,49 +85,3 @@ On **Windows**: ```bash netsh interface ip show config name="wt0" ``` - -### Running NetBird in Docker - -Set the ```NB_SETUP_KEY``` environment variable and run the command. - - - You can pass other settings as environment variables. See [Environment variables](/how-to/cli#environment-variables) for details. - - -NetBird makes use of eBPF and raw sockets, therefore to guarantee the client software functionality, we recommend adding the flags `--cap-add=SYS_ADMIN` and `--cap-add=SYS_RESOURCE` for docker clients. -The experience may vary depending on the docker daemon, operating system, or kernel version. - -```bash -docker run --rm --name PEER_NAME --hostname PEER_NAME --cap-add=NET_ADMIN --cap-add=SYS_ADMIN --cap-add=SYS_RESOURCE -d -e NB_SETUP_KEY= -v netbird-client:/etc/netbird netbirdio/netbird:latest -``` - -See [Docker example](/how-to/examples#net-bird-client-in-docker) for details. - -### Troubleshooting -1. If you are using self-hosted version and haven't specified `--management-url`, the client app will use the default URL -which is ```https://api.wiretrustee.com:33073```. - -2. If you have specified a wrong `--management-url` (e.g., just by mistake when self-hosting) -to override it you can do the following: - -```bash -netbird down -netbird up --management-url https:/// -``` - -To override it see the solution #1 above. - -## Updating - -### Linux - -If your NetBird client was installed through a package manager, use that to update. -If you used the one-command script to install, you can follow this to update: - -```bash -netbird down -curl -fsSLO https://pkgs.netbird.io/install.sh -chmod +x install.sh -./install.sh --update -netbird up -``` diff --git a/src/pages/how-to/installation/docker.mdx b/src/pages/how-to/installation/docker.mdx new file mode 100644 index 00000000..82d20a2b --- /dev/null +++ b/src/pages/how-to/installation/docker.mdx @@ -0,0 +1,82 @@ +import {Note} from "@/components/mdx"; + +# Docker Installation + +The NetBird client (agent) allows a peer to join a pre-existing NetBird deployment. If a NetBird deployment is not yet available, there are both managed and [self-hosted](https://docs.netbird.io/selfhosted/selfhosted-quickstart) options available. + +## Docker Run Command + +Set the ```NB_SETUP_KEY``` environment variable and run the command. + + + You can pass other settings as environment variables. See [Environment variables](/how-to/cli#environment-variables) for details. + + +NetBird makes use of eBPF and raw sockets, therefore to guarantee the client software functionality, we recommend adding the flags `--cap-add=SYS_ADMIN` and `--cap-add=SYS_RESOURCE` for docker clients. +The experience may vary depending on the docker daemon, operating system, or kernel version. + +```bash +docker run --rm --name PEER_NAME --hostname PEER_NAME --cap-add=NET_ADMIN --cap-add=SYS_ADMIN --cap-add=SYS_RESOURCE -d -e NB_SETUP_KEY= -v netbird-client:/etc/netbird netbirdio/netbird:latest +``` + +See [Docker example](/how-to/examples#net-bird-client-in-docker) for details. + +### Troubleshooting +1. If you are using self-hosted version and haven't specified `--management-url`, the client app will use the default URL +which is ```https://api.wiretrustee.com:33073```. + +2. If you have specified a wrong `--management-url` (e.g., just by mistake when self-hosting) +to override it you can do the following: + +```bash +netbird down +netbird up --management-url https:/// +``` + +To override it see the solution #1 above. + +## Docker Compose +If you prefer to run NetBird as a Docker compose stack below is an example. Configure to your specific needs. +```yaml +services: + netbird: + container_name: netbird + hostname: + cap_add: + - NET_ADMIN + - SYS_ADMIN + - SYS_RESOURCE + network_mode: host + environment: + - NB_SETUP_KEY= + volumes: + - netbird-client:/etc/netbird + image: netbirdio/netbird:latest +volumes: + netbird-client: + name: netbird-client +``` + +## Running NetBird with a Setup Key +In case you are activating a server peer, you can use a [setup key](/how-to/register-machines-using-setup-keys) as described in the steps below. +> This is especially helpful when you are running multiple server instances with infrastructure-as-code tools like ansible and terraform. + +1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/how-to/register-machines-using-setup-keys)). + +```bash +docker run --network host --privileged --rm -d -e NB_SETUP_KEY= -v netbird-client:/etc/netbird netbirdio/netbird: +``` +> TAG > 0.6.0 version + +> You could also omit the `--setup-key` property. In this case, the tool will prompt for the key. + +2. Check connection status: +```bash + netbird status +``` + +3. Check your IP: + +````bash + sudo ifconfig utun100 +```` diff --git a/src/pages/how-to/installation/linux.mdx b/src/pages/how-to/installation/linux.mdx new file mode 100644 index 00000000..27510cd5 --- /dev/null +++ b/src/pages/how-to/installation/linux.mdx @@ -0,0 +1,248 @@ +import {Note} from "@/components/mdx"; + +# Linux Installation + +The NetBird client (agent) allows a peer to join a pre-existing NetBird deployment. If a NetBird deployment is not yet available, there are both managed and [self-hosted](https://docs.netbird.io/selfhosted/selfhosted-quickstart) options available. + + +## Linux Install Script + +```bash +curl -fsSL https://pkgs.netbird.io/install.sh | sh +``` + +### Ubuntu/Debian (APT) +1. Add the repository: + + ```bash + sudo apt-get update + sudo apt-get install ca-certificates curl gnupg -y + curl -sSL https://pkgs.netbird.io/debian/public.key | sudo gpg --dearmor --output /usr/share/keyrings/netbird-archive-keyring.gpg + echo 'deb [signed-by=/usr/share/keyrings/netbird-archive-keyring.gpg] https://pkgs.netbird.io/debian stable main' | sudo tee /etc/apt/sources.list.d/netbird.list +``` +2. Update APT's cache + +```bash + sudo apt-get update +``` +3. Install the package + +```bash + # for CLI only + sudo apt-get install netbird + # for GUI package + sudo apt-get install netbird-ui +``` + +### RHEL/Amazon Linux 2 (RPM) + +1. Add the repository: +```bash +sudo tee /etc/yum.repos.d/netbird.repo <.tar.gz https://github.com/netbirdio/netbird/releases/download/v/netbird___.tar.gz +``` + + + + You need to replace some variables from the URL above: + + - Replace **VERSION** with the latest released version. + - Replace **OS** with "linux", "darwin" for MacOS or "windows" + - Replace **Arch** with your target system CPU architecture + + + +3. Decompress +```bash + tar xzf ./netbird_.tar.gz + sudo mv netbird /usr/bin/netbird + sudo chown root:root /usr/bin/netbird + sudo chmod +x /usr/bin/netbird +``` +After that you may need to add /usr/bin in your PATH environment variable: +````bash + export PATH=$PATH:/usr/bin +```` +4. Install and run the service +```bash + sudo netbird service install + sudo netbird service start +``` + +## Updating + +If your NetBird client was installed through a package manager, use that to update. +If you used the one-command script to install, you can follow this to update: + +```bash +netbird down +curl -fsSLO https://pkgs.netbird.io/install.sh +chmod +x install.sh +./install.sh --update +netbird up +``` + + +## Running NetBird with SSO Login +### Desktop UI Application +If you installed the Desktop UI client, you can launch it and click on Connect. +> It will open your browser, and you will be prompt for email and password. Follow the instructions. + +

+ high-level-dia +

+ +### CLI +Alternatively, you could use command line. Simply run + ```bash + netbird up + ``` +> It will open your browser, and you will be prompt for email and password. Follow the instructions. + +

+ high-level-dia +

+ +Check connection status: +```bash + netbird status +``` + +## Running NetBird with a Setup Key +In case you are activating a server peer, you can use a [setup key](/how-to/register-machines-using-setup-keys) as described in the steps below. +> This is especially helpful when you are running multiple server instances with infrastructure-as-code tools like ansible and terraform. + +1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/how-to/register-machines-using-setup-keys)). + +```bash + netbird up --setup-key +``` + +Alternatively, if you are hosting your own Management Service provide `--management-url` property pointing to your Management Service: +```bash + netbird up --setup-key --management-url http://localhost:33073 +``` + +> You could also omit the `--setup-key` property. In this case, the tool will prompt for the key. + +2. Check connection status: +```bash + netbird status +``` + +3. Check your IP: + +```bash + ip addr show wt0 +``` diff --git a/src/pages/how-to/installation/macos.mdx b/src/pages/how-to/installation/macos.mdx new file mode 100644 index 00000000..48ffcb3d --- /dev/null +++ b/src/pages/how-to/installation/macos.mdx @@ -0,0 +1,136 @@ +import {Note} from "@/components/mdx"; + +# MacOS Installation + +The NetBird client (agent) allows a peer to join a pre-existing NetBird deployment. If a NetBird deployment is not yet available, there are both managed and [self-hosted](https://docs.netbird.io/selfhosted/selfhosted-quickstart) options available. + +## Install with one command + +```bash +curl -fsSL https://pkgs.netbird.io/install.sh | sh +``` + +### Package install + +1. Download the latest MacOS release installer for your [processor](https://support.apple.com/en-us/HT211814 ): + - Intel: + - M1 & M2:
+_If you require an older version checkout NetBird [releases](https://github.com/netbirdio/netbird/releases/latest)_ +2. Proceed with the installation steps +3. This will install the NetBird app into /Applications and add the daemon service +4. After installing, you can follow the steps from [Running NetBird with SSO Login](#Running-NetBird-with-SSO-Login) steps. +> To uninstall the client remove the app from /Applications + +### Homebrew install + +1. Download and install homebrew at https://brew.sh/ +2. If netbird was previously installed with homebrew, you will need to run: +```bash +# Stop and uninstall daemon service: +sudo netbird service stop +sudo netbird service uninstall +# unlink the app +brew unlink netbird +``` +> netbird will copy any existing configuration from the netbird's default configuration paths to the new NetBird's default location + +3. Install the client +```bash + # for CLI only + brew install netbirdio/tap/netbird + # for GUI package + brew install --cask netbirdio/tap/netbird-ui +``` +4. If you installed CLI only, you need to install and start the client daemon service: + ```bash + sudo netbird service install + sudo netbird service start +``` + +### Binary Install +**Installation from binary (CLI only)** + +1. Checkout NetBird [releases](https://github.com/netbirdio/netbird/releases/latest) +2. Download the latest release: +```bash + curl -L -o ./netbird_.tar.gz https://github.com/netbirdio/netbird/releases/download/v/netbird___.tar.gz +``` + + + + You need to replace some variables from the URL above: + + - Replace **VERSION** with the latest released version. + - Replace **OS** with "linux", "darwin" for MacOS or "windows" + - Replace **Arch** with your target system CPU architecture + + + +3. Decompress +```bash + tar xzf ./netbird_.tar.gz + sudo mv netbird /usr/bin/netbird + sudo chown root:root /usr/bin/netbird + sudo chmod +x /usr/bin/netbird +``` +After that you may need to add /usr/bin in your PATH environment variable: +````bash + export PATH=$PATH:/usr/bin +```` +4. Install and run the service +```bash + sudo netbird service install + sudo netbird service start +``` +## Running NetBird with SSO Login +### Desktop UI Application +If you installed the Desktop UI client, you can launch it and click on Connect. +> It will open your browser, and you will be prompt for email and password. Follow the instructions. + +

+ high-level-dia +

+ +### CLI +Alternatively, you could use command line. Simply run + ```bash + netbird up + ``` +> It will open your browser, and you will be prompt for email and password. Follow the instructions. + +

+ high-level-dia +

+ +Check connection status: +```bash + netbird status +``` + +### Running NetBird with a Setup Key +In case you are activating a server peer, you can use a [setup key](/how-to/register-machines-using-setup-keys) as described in the steps below. +> This is especially helpful when you are running multiple server instances with infrastructure-as-code tools like ansible and terraform. + +1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/how-to/register-machines-using-setup-keys)). + +```bash + netbird up --setup-key +``` + +Alternatively, if you are hosting your own Management Service provide `--management-url` property pointing to your Management Service: +```bash + netbird up --setup-key --management-url http://localhost:33073 +``` + +> You could also omit the `--setup-key` property. In this case, the tool will prompt for the key. + +2. Check connection status: +```bash + netbird status +``` + +3. Check your IP: + +````bash + sudo ifconfig utun100 +```` diff --git a/src/pages/how-to/installation/mobile.mdx b/src/pages/how-to/installation/mobile.mdx new file mode 100644 index 00000000..2535e030 --- /dev/null +++ b/src/pages/how-to/installation/mobile.mdx @@ -0,0 +1,26 @@ +import {Note} from "@/components/mdx"; + +# Mobile Applications + +## Android + +NetBird has an official Android application that you can download at Google Play Store: + +

+ + playstore + + +

+ +APK releases are also available to install directly on your Android device via the [NetBird GitHub repository](https://github.com/netbirdio/netbird/releases). + +## iOS + +NetBird has an official iOS application that you can download from the App Store: + +

+ + appstore + +

diff --git a/src/pages/how-to/installation/synology.mdx b/src/pages/how-to/installation/synology.mdx new file mode 100644 index 00000000..306ecc1d --- /dev/null +++ b/src/pages/how-to/installation/synology.mdx @@ -0,0 +1,117 @@ +import {Note} from "@/components/mdx"; + +# Synology Installation + +The NetBird client (agent) allows a peer to join a pre-existing NetBird deployment. If a NetBird deployment is not yet available, there are both managed and [self-hosted](https://docs.netbird.io/selfhosted/selfhosted-quickstart) options available. + +## Installation Steps + +Installing a NetBird Peer on Synology will require a few additional steps compared to a typical Linux install despite using the same single line command to get everything going. + +1. Ensure your user has administrative privileges. _Control Panel > User & Group > User > Click User and Edit > User Groups > Ensure “administrators” is checked._ +2. Enable SSH Connectivity. _Control Panel > Terminal & SNMP > Terminal > Check the box next to “Enable SSH Service” > Click Apply_ +3. Login to your user using SSH. If you’re unsure if your Synology IP address it can be found under _Control Panel > Info Center > Network > DNS_ or using the [Synology Find Tool](https://finds.synology.com/). Open a terminal and run the command to connecting replacing the user and IP address with your own. + +```bash +ssh user@192.168.0.53 +``` + +4. Install with one command. + +```bash +curl -fsSL https://pkgs.netbird.io/install.sh | sh +``` + +5. Add your Synology NAS as a Peer using the steps from [Add peers to your NetBird network](https://docs.netbird.io/how-to/add-machines-to-your-network) in the documentation. + +## Reboot Script + +In some cases on Synology, the NetBird service will not have the correct modules loaded on a reboot. In this case you’ll need to run a script every time you reboot your NAS. To automate this process, you can create a scheduled task in the Synology DSM. + +1. _Control Panel > Task Scheduler > Create > Triggered Task > User defined script_. +2. Now you’ll have a _Create Task_ dialog box. Give a task name such as “Netbird Reboot”. Set the _User > Root_ and the _Event > Boot-up_. Make sure the Enable Box is checked. +3. Next, click on _Task Settings_ and copy/paste the script in the text field under _Run command > User-defined script_. + +```sh +#!/bin/sh + +# Create the necessary file structure for /dev/net/tun +if [ ! -c /dev/net/tun ]; then + if [ ! -d /dev/net ]; then + mkdir -m 755 /dev/net + fi + mknod /dev/net/tun c 10 200 + chmod 0755 /dev/net/tun +fi + +# Load the tun module if not already loaded +if !(lsmod | grep -q "^tun\s"); then + insmod /lib/modules/tun.ko +fi +``` +4. If you’d like to see the logs for this task, select the task you create and click on Settings. Check the box that says Save output results, select a save location, and click OK. Now, if you select the task and **Action > View Result**, you’ll see any error logs and status. + +## Running NetBird with SSO Login +### Desktop UI Application +If you installed the Desktop UI client, you can launch it and click on Connect. +> It will open your browser, and you will be prompt for email and password. Follow the instructions. + +

+ high-level-dia +

+ +### CLI +Alternatively, you could use command line. Simply run + ```bash + netbird up + ``` +> It will open your browser, and you will be prompt for email and password. Follow the instructions. + +

+ high-level-dia +

+ +Check connection status: +```bash + netbird status +``` + +## Running NetBird with a Setup Key +In case you are activating a server peer, you can use a [setup key](/how-to/register-machines-using-setup-keys) as described in the steps below. +> This is especially helpful when you are running multiple server instances with infrastructure-as-code tools like ansible and terraform. + +1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/how-to/register-machines-using-setup-keys)). + +```bash + netbird up --setup-key +``` + +Alternatively, if you are hosting your own Management Service provide `--management-url` property pointing to your Management Service: +```bash + netbird up --setup-key --management-url http://localhost:33073 +``` + +> You could also omit the `--setup-key` property. In this case, the tool will prompt for the key. + +2. Check connection status: +```bash + netbird status +``` + +3. Check your IP: + +```bash + ip addr show wt0 +``` + +## Updating + +If you used the one-command script to install, you can follow this to update: + +```bash +netbird down +curl -fsSLO https://pkgs.netbird.io/install.sh +chmod +x install.sh +./install.sh --update +netbird up +``` diff --git a/src/pages/how-to/installation/windows.mdx b/src/pages/how-to/installation/windows.mdx new file mode 100644 index 00000000..6f5835a5 --- /dev/null +++ b/src/pages/how-to/installation/windows.mdx @@ -0,0 +1,69 @@ +import {Note} from "@/components/mdx"; + +# Windows Installation + +The NetBird client (agent) allows a peer to join a pre-existing NetBird deployment. If a NetBird deployment is not yet available, there are both managed and [self-hosted](https://docs.netbird.io/selfhosted/selfhosted-quickstart) options available. + +1. Download the latest Windows release: + -
+ -
+2. Execute the installer and proceed with the installation steps +3. This will install the UI client in the `C:\Program Files\NetBird` and add the daemon service +4. After installing, you can follow the steps from [Running NetBird with SSO Login](#running-net-bird-with-sso-login). + + To uninstall the client and service, you can use Add/Remove programs + + +## Running NetBird with SSO Login +### Desktop UI Application +If you installed the Desktop UI client, you can launch it and click on Connect. +> It will open your browser, and you will be prompt for email and password. Follow the instructions. + +

+ high-level-dia +

+ +### CLI +Alternatively, you could use command line. Simply run + ```bash + netbird up + ``` +> It will open your browser, and you will be prompt for email and password. Follow the instructions. + +

+ high-level-dia +

+ +Check connection status: +```bash + netbird status +``` + +## Running NetBird with a Setup Key +In case you are activating a server peer, you can use a [setup key](/how-to/register-machines-using-setup-keys) as described in the steps below. +> This is especially helpful when you are running multiple server instances with infrastructure-as-code tools like ansible and terraform. + +1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/how-to/register-machines-using-setup-keys)). + +For all systems: +```bash +netbird up --setup-key +``` + +Alternatively, if you are hosting your own Management Service provide `--management-url` property pointing to your Management Service: +```bash + netbird up --setup-key --management-url http://localhost:33073 +``` + +> You could also omit the `--setup-key` property. In this case, the tool will prompt for the key. + +2. Check connection status: +```bash +netbird status +``` + +3. Check your IP: + +```bash +netsh interface ip show config name="wt0" +``` From 1865ad7a40fc421552fc7964185620a4b4b5fa48 Mon Sep 17 00:00:00 2001 From: Brandon Hopkins <76761586+TechHutTV@users.noreply.github.com> Date: Wed, 25 Jun 2025 12:56:32 -0700 Subject: [PATCH 2/2] Update installation.mdx Spelling fixes --- src/pages/how-to/installation.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/how-to/installation.mdx b/src/pages/how-to/installation.mdx index 0e1b002f..7c0acdb9 100644 --- a/src/pages/how-to/installation.mdx +++ b/src/pages/how-to/installation.mdx @@ -2,7 +2,7 @@ import {Note} from "@/components/mdx"; # Install NetBird -If you're a new user you should visit the [Quickstart Guide](https://docs.netbird.io/how-to/getting-started). This will help you setup your managment dashboard and connect your first client. For quick install instructions, including desktop applications, visit the [install prompt](https://app.netbird.io/install) through the management dashboard. To view all the client installation methods we've set up a varity of platform specific pages. +If you're a new user you should visit the [Quickstart Guide](https://docs.netbird.io/how-to/getting-started). This will help you setup your management dashboard and connect your first client. For quick install instructions, including desktop applications, visit the [install prompt](https://app.netbird.io/install) through the management dashboard. To view all the client installation methods we've set up a variety of platform specific pages.