diff --git a/src/pages/get-started/install/linux.mdx b/src/pages/get-started/install/linux.mdx index e7800d70..807f424c 100644 --- a/src/pages/get-started/install/linux.mdx +++ b/src/pages/get-started/install/linux.mdx @@ -14,7 +14,7 @@ curl -fsSL https://pkgs.netbird.io/install.sh | sh ### Ubuntu/Debian (APT) 1. Add the repository: - ```bash +```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 @@ -92,7 +92,7 @@ sudo gnome-extensions enable appindicatorsupport@rgcjonas.gmail.com Under X11, you may need to restart GNOME Shell (Alt+F2, r, ⏎) after that. Under Wayland you need to logout and login again. -### Universal Blue (Native package) +### Fedora Silverblue (Atomic) / Universal Blue (rpm-ostree) 1. Create the repository file: ```bash @@ -120,18 +120,79 @@ EOF systemctl enable --now netbird ``` +### Fedora Silverblue / Universal Blue / SteamOS / Immutable Distros (Homebrew) + + Requires installation of [Homebrew](https://docs.brew.sh/Homebrew-on-Linux), Universal Blue images should have Homebrew preinstalled. + + This method does not install the NetBird GUI. It installs the CLI only. + + +1. 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 default location. + +2. Install Netbird +```bash +brew install netbirdio/tap/netbird +``` + +If it gives you an error saying to install Clang, you can install it with +```bash +brew install llvm +``` +If that still doesn't work after that, try restarting your terminal to update the path. + +3. Install and start the client daemon service: +```bash + sudo /home/linuxbrew/.linuxbrew/bin/netbird service install + sudo /home/linuxbrew/.linuxbrew/bin/netbird service start +``` +You may need to adjust this command if you are not using the default `/home/linuxbrew/.linuxbrew` prefix for your Homebrew install. + + +On Fedora-based systems including Universal Blue, SELinux may block NetBird from running due to homebrew installing it in ~/linuxbrew. + +You can fix this by running +```bash +sudo semanage fcontext -a -t bin_t \ + '/home/linuxbrew/\.linuxbrew/Cellar/netbird/[^/]+/bin/netbird' +sudo restorecon -Rv /home/linuxbrew/.linuxbrew/Cellar/netbird +sudo systemctl restart netbird +``` + +If your Homebrew prefix is set to something other than /home/linuxbrew/.linuxbrew, you may need to adjust those commands to match. + +You can verify that the NetBird service is running properly before and after making these changes by running: +```bash +sudo systemctl status netbird +``` + + +### Fedora Silverblue / Universal Blue / SteamOS / Immutable Distros (Distrobox) + + Requires installation of [Distrobox](https://distrobox.it/), Universal Blue images should have Distrobox preinstalled. + + + You will also need to maintain and update Debian inside the Distrobox container. + -### Fedora Universal Blue / SteamOS (DistroBox) 1. Create a distrobox container ```bash -distrobox create netbird --init --image debian:12 -a "--cap-add=NET_ADMIN" --additional-packages systemd --root +distrobox create netbird --init --image debian:13 -a "--cap-add=NET_ADMIN" --additional-packages systemd --root ``` 2. Install inside the container ```bash distrobox enter --root netbird curl -fsSL https://pkgs.netbird.io/install.sh | sh ``` -3. Export the distrobird binary to the host +3. Export the Netbird binary to the host ```bash #from inside the container distrobox-export -b /usr/bin/netbird