--- sidebar_position: 2 title: Installation tags: - client - how-to - install --- ### Linux **APT/Debian** 1. Add the repository: ```bash sudo apt-get update sudo apt-get install ca-certificates curl gnupg -y curl -L https://pkgs.wiretrustee.com/debian/public.key | sudo apt-key add - echo 'deb https://pkgs.wiretrustee.com/debian stable main' | sudo tee /etc/apt/sources.list.d/wiretrustee.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** 1. Add the repository: ```bash cat < netbird will copy any existing configuration from the Wiretrustee'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. Checkout NetBird [releases](https://github.com/netbirdio/netbird/releases/latest) 2. Download the latest Windows release installer ```netbird_installer__windows_amd64.exe``` (**Switch VERSION to the latest**): 3. Proceed with the installation steps 4. This will install the UI client in the C:\\Program Files\\NetBird and add the daemon service 5. After installing, you can follow the steps from [Running NetBird with SSO Login](#Running-NetBird-with-SSO-Login) steps. > To uninstall the client and service, you can use Add/Remove programs ### 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 ``` :::note You need to replace some variables from the URL above: - Replace **VERSION** with the latest released verion. - Replace **OS** with "linux", "darwin" for MacOS or "windows" - Replace **Arch** with your target system CPU archtecture ::: 3. Decompress ```bash tar xcf ./netbird_.tar.gz sudo mv netbird /usr/bin/netbird 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. ![](/img/getting-started/systray.png) #### 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. ![](/img/getting-started/netbird-up.png) 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](/overview/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](/overview/setup-keys)). For all systems: ```bash netbird up --setup-key ``` For **Docker**, you can run with the following command: ```bash docker run --network host --privileged --rm -d -e NB_SETUP_KEY= -v netbird-client:/etc/netbird netbirdio/netbird: ``` > TAG > 0.6.0 version 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: On **macOS** : ````bash sudo ifconfig utun100 ```` On **Linux**: ```bash ip addr show wt0 ``` 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. :::tip Environment variables You can pass other settings as environment variables. See [Environment variables](reference/netbird-commands.md#environment-variables) for details. ::: ```bash docker run --rm --name PEER_NAME --hostname PEER_NAME --cap-add=NET_ADMIN -d -e NB_SETUP_KEY= -v netbird-client:/etc/netbird netbirdio/netbird:latest ``` See [Docker example](examples/netbird-docker.md) 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.