Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/components/NavigationDocs.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ export const docsNavigation = [
links: [
{ title: 'Proxmox VE', href: '/get-started/install/proxmox-ve' },
{ title: 'Synology', href: '/get-started/install/synology' },
{ title: 'TrueNAS', href: '/get-started/install/truenas' },
{ title: 'pfSense', href: '/get-started/install/pfsense' },
{ title: 'OPNsense', href: '/get-started/install/opnsense' },
{ title: 'Raspberry Pi', href: '/get-started/install/raspberrypi' },
Expand Down
1 change: 1 addition & 0 deletions src/pages/get-started/install/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ The NetBird client (agent) allows a peer to join a pre-existing NetBird deployme

## Additional Platforms
* [Install on Synology](/get-started/install/synology)
* [Install on TrueNAS](/get-started/install/truenas)
* [Install on pfSense](/get-started/install/pfsense)
* [Install on OPNSense](/get-started/install/opnsense)
* [Install on Raspberry Pi](/get-started/install/raspberrypi)
Expand Down
65 changes: 65 additions & 0 deletions src/pages/get-started/install/truenas.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import {Note} from "@/components/mdx";

# Install NetBird on TrueNAS

NetBird can now be installed on TrueNAS via [TrueNAS Apps](https://apps.truenas.com/catalog/netbird-client/) (the built-in app catalog).

<Note>
The NetBird app on TrueNAS runs in a Docker container. You **cannot** use the peer's NetBird IP address or [NetBird domain (hostname)](/manage/dns/index) to connect directly to your TrueNAS instance traffic to those addresses reaches the container, not the TrueNAS host. See [Access TrueNAS via NetBird Networks](#access-truenas-via-netbird-networks) below for the full steps.
</Note>

## Install NetBird from Catalog

1. In TrueNAS, go to **Apps** and search for **NetBird**. If it doesn't appear, refresh the catalog (e.g., **Discover Apps** or the catalog refresh option in your TrueNAS version).

<img src="/docs-static/img/get-started/truenas/truenas-refresh-catalog.png" alt="Refresh TrueNAS catalog and search for NetBird" className="imagewrapper-big"/>

2. Click **Install** and configure the app as described below. Most defaults are fine; the main fields you need to set are **Hostname** and **Setup Key**.

<img src="/docs-static/img/get-started/truenas/truenas-install-netbird.png" alt="Install NetBird app on TrueNAS" className="imagewrapper-big"/>

3. After installation, confirm the app is **Running** in the Apps list.
4. Open your [NetBird dashboard](https://app.netbird.io/) and go to **Peers**. You should see your TrueNAS peer listed. Rename it (e.g., "TrueNAS" or "NAS") if you like for easier identification.

### App configuration

When you install the NetBird app, TrueNAS shows an **Edit Netbird Client** form. Use this as a guide:

<img src="/docs-static/img/get-started/truenas/truenas-config-setupkey.png" alt="NetBird client configuration form with Setup Key" className="imagewrapper-big"/>


**Netbird Client Configuration**

- **Application name**: Display name in TrueNAS (e.g., "NetBird" or "Netbird Client"). Default is fine.
- **Timezone**: Leave default unless you need a specific timezone for logs.
- **Hostname**: Name this peer will use in NetBird (e.g., "truenas" or "nas"). Pick something you’ll recognize in the dashboard.
- **Setup Key** *(required)*: Paste the setup key you created in [Generate your Setup Key](#generate-your-setup-key). This registers the TrueNAS peer with your NetBird network.
- **Userspace**: Leave default (userspace networking). Only change if you have a specific need.
- **Management URL** *(optional)*: Leave empty for NetBird Cloud (`https://api.netbird.io`). Set this only if you use a [self-hosted](/selfhosted/selfhosted-quickstart) management server.
- **Additional Environment Variables**: Leave empty unless you need extra [environment variables](/get-started/cli#environment-variables).

**Network Configuration**

- **Host Network**: Enable **Host Network** so the NetBird container uses the TrueNAS host's network stack. Without it, the container only has its own network and cannot reach your LAN or act as a [routing peer](/manage/networks/homelab/access-home-network#choose-or-add-a-routing-peer-in-your-lan). Turn this on unless you have a specific reason to keep the peer isolated (e.g. you only need the peer in the mesh with no LAN access).

**Storage Configuration**

- **State Storage**: Use the default (e.g., **ixVolume**) so NetBird can persist its state. This keeps the peer identity and config across app restarts.

**Resources Configuration**

- **CPUs** and **Memory (MB)**: Defaults are usually sufficient. Increase if you have many peers or heavy routing.

You can leave **Labels** and **Additional Storage** empty unless you use them for access policies or custom storage.

## Access TrueNAS via NetBird Networks

Because NetBird on TrueNAS runs inside a Docker container, you cannot connect directly to the TrueNAS host or its services by IP as you would to a normal peer. To reach TrueNAS or other devices on the same LAN, use [NetBird Networks](/manage/networks/homelab/access-home-network):

1. **Create a NetBird Network**: In the dashboard, go to **Networks** → **Add Network**. Name it (e.g., "Home LAN" or "TrueNAS LAN").
2. **Add the TrueNAS peer as a routing peer**: In that network, click **Add Routing Peer** and select the TrueNAS peer. This makes TrueNAS the gateway for traffic into your local subnet.
3. **Add a network resource**: Click **Add Resource**. Either:
- Add your **entire LAN subnet** (e.g., `192.168.1.0/24`) so you can reach TrueNAS and any other device on that subnet, or
- Add a **single resource** (e.g., `192.168.1.100/32`) if you only need access to the TrueNAS host.

After you define an [access control policy](/manage/networks/homelab/access-home-network#create-an-access-control-policy) that allows the right peers or groups to reach this network, you can access TrueNAS and other resources on that subnet through the TrueNAS routing peer.