Include Alpine Linux installation steps - #897
Conversation
Add installation instructions for Alpine Linux, including CLI and desktop app setup.
|
@ScottRFrost is attempting to deploy a commit to the NetBird GmbH Team on Vercel. A member of the Team first needs to authorize it. |
|
Warning Review limit reached
Next review available in: 31 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe Linux installation guide adds Alpine Linux 3.23+ support. It documents CLI-only and desktop-app installation, service startup, activation, OpenRC registration, and package-based updates. ChangesAlpine Linux installation
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/pages/get-started/install/linux.mdx`:
- Line 159: Update the subsection around the Alpine package management
instruction to use “Updating” as the heading. Move the explanatory text and `apk
update && apk upgrade` command into normal body content, and explicitly name the
NetBird packages if the command is intended to update only those packages.
- Line 24: Update the Alpine Linux entry in the support table and related
installation guidance to match the Alpine package contract: either document the
exact compatible GTK 4 and WebKitGTK runtime packages before installing
netbird-ui, or mark Alpine as CLI-only until package metadata confirms
compatibility. Do not add Alpine runtime dependencies speculatively.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 8f204c02-7254-4ea4-909e-1e7cd8f2b2f8
📒 Files selected for processing (1)
src/pages/get-started/install/linux.mdx
| | 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 | |
There was a problem hiding this comment.
🩺 Stability & Availability | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== File excerpt =="
if [ -f src/pages/get-started/install/linux.mdx ]; then
sed -n '1,220p' src/pages/get-started/install/linux.mdx | cat -n
else
echo "missing src/pages/get-started/install/linux.mdx"
fi
echo "== Build/package hints =="
for f in package.json src/pages/get-started/install/linux.mdx; do
[ -f "$f" ] && { echo "--- $f"; sed -n '1,220p' "$f"; }
done
echo "== Static docs references =="
rg -n "GTK|WebKit|netbird-ui|Alpine|Alpine Linux|desktop|Line 9|openresolv|Wayland" src/pages/public public/docs-static 2>/dev/null || trueRepository: 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:
- 1: https://pkgs.alpinelinux.org/package/v3.23/community/x86_64/netbird-ui
- 2: https://pkgs.alpinelinux.org/package/edge/community/x86_64/netbird-ui
- 3: https://pkgs.alpinelinux.org/package/v3.23/main/x86_64/openresolv
- 4: https://pkgs.alpinelinux.org/package/v3.23/community/armhf/netbird-ui
- 5: Cover RPM-based distros and desktop app dependencies in the Linux tab dashboard#733
🌐 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:
- 1: https://pkgs.alpinelinux.org/package/v3.23/community/x86_64/netbird
- 2: https://pkgs.alpinelinux.org/package/v3.23/community/x86_64/netbird-doc
- 3: https://pkgs.alpinelinux.org/package/v3.23/community/armhf/netbird-ui
- 4: https://pkgs.alpinelinux.org/package/edge/community/x86_64/webkit2gtk-6.0
- 5: https://pkgs.alpinelinux.org/package/v3.23/community/riscv64/webkit2gtk-6.0
🌐 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:
- 1: https://pkgs.alpinelinux.org/package/v3.23/community/x86_64/netbird-ui
- 2: https://pkgs.alpinelinux.org/packages?branch=v3.23&name=netbird-ui
- 3: Cover RPM-based distros and desktop app dependencies in the Linux tab dashboard#733
- 4: https://docs.netbird.io/get-started/install/linux
- 5: Linux client UI error - cannot view settings menu or about menu netbird#4186
🌐 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:
- 1: https://pkgs.alpinelinux.org/package/v3.23/community/x86_64/netbird-ui
- 2: https://pkgs.alpinelinux.org/packages?branch=v3.23&name=netbird-ui
- 3: https://docs.netbird.io/get-started/install/linux
- 4: Cover RPM-based distros and desktop app dependencies in the Linux tab dashboard#733
- 5: https://git.it-syndikat.org/mirror/netbird/src/branch/master/PKGBUILD
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
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/pages/get-started/install/linux.mdx` at line 24, Update the Alpine Linux
entry in the support table and related installation guidance to match the Alpine
package contract: either document the exact compatible GTK 4 and WebKitGTK
runtime packages before installing netbird-ui, or mark Alpine as CLI-only until
package metadata confirms compatibility. Do not add Alpine runtime dependencies
speculatively.
Source: MCP tools
| rc-update add netbird default | ||
| ``` | ||
|
|
||
| #### update then just work with normal Alpine package management `apk update && apk upgrade` |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Move the update instruction out of the heading.
Use #### Updating as the subsection title. Put the explanation and apk command in normal body content. If the command should update only NetBird packages, list those packages explicitly.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/pages/get-started/install/linux.mdx` at line 159, Update the subsection
around the Alpine package management instruction to use “Updating” as the
heading. Move the explanatory text and `apk update && apk upgrade` command into
normal body content, and explicitly name the NetBird packages if the command is
intended to update only those packages.
I omitted the fact that the community repo had to be enabled in my original commit
Add installation instructions for Alpine Linux, including CLI and desktop app setup.
Summary by CodeRabbit