-
Notifications
You must be signed in to change notification settings - Fork 132
Include Alpine Linux installation steps #897
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -21,6 +21,7 @@ Minimum releases that satisfy both requirements: | |
| | Fedora | 43 and newer | any supported release | | ||
| | RHEL / AlmaLinux / Rocky | 10 and newer, with [EPEL](https://docs.fedoraproject.org/en-US/epel/getting-started/) | any supported release | | ||
| | Amazon Linux | not available | 2 and 2023 | | ||
| | Alpine Linux | 3.23 and newer | 3.23 and newer | | ||
|
|
||
| Ubuntu 22.04 (GTK 4.6) and Debian 12 (GTK 4.8) ship WebKitGTK 6.0 but their GTK 4 is below 4.10, so the desktop app is not supported there. RHEL 9 provides neither GTK 4.10 nor WebKitGTK 6.0. | ||
|
|
||
|
|
@@ -131,13 +132,32 @@ On RHEL, AlmaLinux and Rocky Linux 10, `webkitgtk6.0` comes from EPEL, so enable | |
| Amazon Linux 2023 does not provide GTK 4 or WebKitGTK 6.0, so install the CLI only there. | ||
|
|
||
| The tray icon uses the D-Bus StatusNotifierItem protocol. GNOME does not support it natively, so on GNOME desktops install `gnome-shell-extension-appindicator` and enable it: | ||
| ``` | ||
| ```bash | ||
| sudo dnf install gnome-shell-extension-appindicator | ||
| 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. | ||
|
Comment on lines
+135
to
139
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win Fix the GNOME snippet fence and wording. Use a Proposed fix-```
+```bash
sudo dnf install gnome-shell-extension-appindicator
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. Verify each finding against current code. Fix only still-valid issues, skip the In |
||
|
|
||
|
|
||
| ### Alpine Linux - Requires community repository to be added to apk configuration | ||
| #### For CLI only: | ||
| ```bash | ||
| apk add netbird netbird-openrc | ||
| rc-service netbird start | ||
| netbird up | ||
| rc-update add netbird default | ||
| ``` | ||
|
Comment on lines
+142
to
+149
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
echo "== Locate file =="
git ls-files | grep -F 'src/pages/get-started/install/linux.mdx' || true
echo "== Relevant excerpt =="
cat -n src/pages/get-started/install/linux.mdx | sed -n '120,165p'
echo "== Alpine repository heading nearby =="
rg -n -C 3 -i 'Alpine|apk|community|netbird-openrc|netbird-ui|rc-service|rc-update|sudo' src/pages/get-started/install/linux.mdx
echo "== Related Linux sections =="
cat -n src/pages/get-started/install/linux.mdx | sed -n '1,220p'Repository: netbirdio/docs Length of output: 17932 🏁 Script executed: #!/bin/bash
set -euo pipefail
echo "== MDX build requirement files =="
git ls-files | grep -E '(^|/)(package\.json|pnpm-lock\.yaml|package-lock\.json|yarn\.lock|bun\.lockb?)$' || true
echo "== package scripts =="
if [ -f package.json ]; then
jq '.scripts // {}' package.json
fi
echo "== docs-static directories =="
git ls-files public/docs-static | sed -n '1,80p' || trueRepository: netbirdio/docs Length of output: 6877 🌐 Web query:
💡 Result: The community repository is not enabled by default in Alpine Linux [1][2][3]. By default, only the main repository is enabled in the /etc/apk/repositories file [2][4][3]. To enable the community repository, you can manually edit /etc/apk/repositories and remove the hash (#) character from the beginning of the line that points to the community repository [1][4][3]. Alternatively, you can use the setup-apkrepos script provided by Alpine Linux [1][4][5]. For example, running setup-apkrepos -c will enable the community repository [6][5]. After making these changes, it is necessary to run apk update to refresh the package index and make the packages in the community repository available for installation [3]. Citations:
Make the Alpine path mention repository changes and make the commands executable. These commands assume the community repository is already enabled, which conflicts with the current 🤖 Prompt for AI Agents |
||
|
|
||
| #### for CLI and desktop app: | ||
| ```bash | ||
| apk add netbird netbird-ui netbird-openrc | ||
| rc-service netbird start | ||
| netbird up | ||
| rc-update add netbird default | ||
| ``` | ||
|
|
||
| #### NetBird updates then just work with normal Alpine package management `apk update && apk upgrade` | ||
|
|
||
| ### Fedora Silverblue (Atomic) / Universal Blue (rpm-ostree) | ||
|
|
||
| 1. Create the repository file: | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🩺 Stability & Availability | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: netbirdio/docs
Length of output: 18554
🌐 Web query:
Alpine Linux package netbird-ui 0.72.2-r0 dependencies openresolv musl Wayland gtk webkit💡 Result:
The Alpine Linux package netbird-ui version 0.72.2-r0, available in the community repository, has explicit runtime dependencies that ensure its core functionality, including networking and graphical interface support [1][2]. Regarding the dependencies you specified: 1. openresolv: The netbird-ui package (along with the core netbird package) lists openresolv as a dependency [3]. This is required to manage DNS information for the NetBird overlay network [3]. 2. musl: As an Alpine Linux package, netbird-ui is natively built against and depends on the musl standard C library [4]. 3. Wayland / gtk / webkit: While netbird-ui requires underlying graphical infrastructure to render its interface (typically using Wails-based technology that relies on GTK and WebKitGTK), these are generally provided by the system's runtime libraries [5]. Alpine's package manager handles the necessary shared object requirements (e.g., libwayland, libgtk, and WebKitGTK-related libraries) to satisfy the binary's runtime needs [4]. Note that upstream maintainers have noted that in some Linux distributions, these dependencies may need to be installed explicitly if they are not correctly declared or auto-resolved by the package manager, though Alpine's packaging is designed to include these requirements [5]. In summary, openresolv is a direct package dependency [3], musl is the base system library [4], and the necessary Wayland, GTK, and WebKit components are satisfied through the package's declared runtime requirements for graphical and windowing libraries [4].
Citations:
🌐 Web query:
site:pkgs.alpinelinux.org v3.23 community x86_64 netbird openresolv Wayland libgtk4 libwebkitgtk-6.0💡 Result:
In the Alpine Linux v3.23 community repository for the x86_64 architecture, the NetBird package (version 0.72.2-r0) is available as a WireGuard-based overlay network and mesh VPN solution [1]. While core components like NetBird and its documentation are listed as standalone packages [1][2], the graphical user interface component, netbird-ui, is often associated with dependencies involving Wayland display protocols and GTK-based libraries [3]. Specifically, WebKitGTK-6.0 (which includes libwebkitgtk-6.0) relies on GTK4 (libgtk4) and Wayland support to render web-based interfaces within Linux desktop environments [4][5]. Additionally, openresolv is a common dependency for network-related tools on Alpine Linux to manage DNS configurations, and it is frequently linked with NetBird's networking operations [3]. In summary, these components typically function together as part of the broader NetBird ecosystem, where the core daemon handles VPN connectivity and the UI package provides the graphical interface, leveraging GTK4 and WebKitGTK for rendering, with openresolv managing the necessary DNS resolution updates [4][5][3].
Citations:
🌐 Web query:
Alpine Linux packages v3.23 netbird-ui dependencies GTK WebKitGTK💡 Result:
The netbird-ui package is available in the Alpine Linux community repository for version 3.23 [1][2]. The NetBird desktop application is built using Wails 3, which relies on GTK 4 and WebKitGTK 6.0 [3][4]. While official package repositories for distributions like Ubuntu, Fedora, and RHEL have specific guidance on installing these dependencies [4], Alpine Linux packaging typically manages declared dependencies automatically if they are correctly defined in the package metadata [3]. If you encounter runtime issues where the interface fails to load or interact properly (such as file dialogs crashing or menus not rendering), ensure that your system has the equivalent GTK 4 and WebKitGTK 6.0 packages installed, as these are mandatory requirements for the current netbird-ui desktop application [3][4]. You can verify the required runtime environment by checking the application's behavior and the system's installed libraries [4][5].
Citations:
🌐 Web query:
pkgs.alpinelinux.org package v3.23 community x86_64 netbird-ui deps openresolv wayland libgtk4 libwebkitgtk-6.0💡 Result:
As of July 31, 2026, the Alpine Linux v3.23 community package for netbird-ui (version 0.72.2-r0) on x86_64 does not explicitly list openresolv, wayland, libgtk4, or libwebkitgtk-6.0 as formal package dependencies in its metadata [1][2]. While modern versions of the NetBird desktop application (specifically those built with Wails 3) rely on GTK 4 and WebKitGTK 6.0 to render their graphical user interfaces, official Alpine Linux packages often manage these requirements differently [3][4]. In some cases, necessary graphical libraries may be pulled in as sub-dependencies or optional runtime requirements rather than being explicitly defined in the top-level package metadata for netbird-ui [1]. If you are encountering issues running the GUI, it is confirmed that the application requires a functional GTK 4 and WebKitGTK 6.0 environment to render correctly [3][4]. Users on systems lacking these libraries may experience runtime failures, as the application cannot render its interface without them [4]. Openresolv is typically associated with network configuration (DNS management) for the NetBird client, but it is not a direct build or package-level dependency for the graphical UI component itself [5].
Citations:
Align Alpine desktop support with the Alpine package contract.
The table advertises Alpine desktop support, and line 153 installs
netbird-ui, but the preceding dependency guidance is for GTK 4.10+/WebKitGTK 6.0 and the documented packages are Debian/Fedora/RHEL packages. Document the exact Alpine GTK 4 and WebKitGTK packages, or mark Alpine as CLI-only until the Alpine package matches those dependencies. Add the Alpine runtime packages only after the package metadata shows the correct compatibility.🤖 Prompt for AI Agents
Source: MCP tools