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](/manage/peers/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](/manage/peers/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 ```