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..7c0acdb9 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 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.
-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
-```
+
-### Windows
-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
-
-
-### 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:
-
-
-
-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:
-
-
-
-### 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.
-#### 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.
+
+
+
+
+
+### 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.
+
+
+
+
+
+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.
+
+
+
+
+
+### 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.
+
+
+
+
+
+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:
+
+
+
+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:
+
+
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.
+
+
+
+
+
+### 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.
+
+
+
+
+
+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.
+
+
+
+
+
+### 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.
+
+
+
+
+
+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"
+```