mirror of
https://github.com/netbirdio/docs.git
synced 2026-04-20 09:26:37 +00:00
Switching Between NetBird Accounts with Profiles
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 81 KiB |
BIN
public/docs-static/img/how-to-guides/profiles/profiles.gif
Normal file
BIN
public/docs-static/img/how-to-guides/profiles/profiles.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.6 MiB |
BIN
public/docs-static/img/how-to-guides/profiles/profiles.png
Normal file
BIN
public/docs-static/img/how-to-guides/profiles/profiles.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 160 KiB |
206
src/pages/how-to/profiles.mdx
Normal file
206
src/pages/how-to/profiles.mdx
Normal file
@@ -0,0 +1,206 @@
|
|||||||
|
# Switching Between NetBird Accounts with Profiles
|
||||||
|
|
||||||
|
NetBird supports multiple profiles on a single device, making it easy to switch between work, home, or other networks.
|
||||||
|
Only one profile is active at a time, and switching takes just a click.
|
||||||
|
|
||||||
|
This feature also allows you to switch between self-hosted and cloud-hosted NetBird accounts seamlessly without needing
|
||||||
|
to juggle multiple config files.
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<img src="/docs-static/img/how-to-guides/profiles/profiles.png" alt="profiles" className="imagewrapper"/>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
Watch a short demo GIF demonstrating how profile switching works [here](/docs-static/img/how-to-guides/profiles/profiles.gif).
|
||||||
|
|
||||||
|
## NetBird Profiles GUI Quickstart
|
||||||
|
|
||||||
|
To get started with NetBird profiles:
|
||||||
|
|
||||||
|
- Upgrade your client application to the latest NetBird version.
|
||||||
|
- Run the GUI app
|
||||||
|
|
||||||
|
You will see a `default` profile created automatically.
|
||||||
|
|
||||||
|
Add more profiles by hovering over the default profile and clicking "Manage Profiles".
|
||||||
|
After adding a new profile, select it to make it active.
|
||||||
|
|
||||||
|
You can now change the NetBird settings, e.g., providing a self-hosted
|
||||||
|
instance URL or allowing SSH. The new settings will be saved in the new profile. Click "Connect" to bring up the new profile.
|
||||||
|
|
||||||
|
The consequent selection of your profiles from the menu will automatically trigger the NetBird client to connect to the network and authentication
|
||||||
|
if needed.
|
||||||
|
|
||||||
|
## Manage Profiles in the GUI
|
||||||
|
|
||||||
|
* **Add** a new profile with a friendly name input.
|
||||||
|
* **Delete** any inactive profile (trash icon).
|
||||||
|
* **Active and default** profiles cannot be removed.
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<img src="/docs-static/img/how-to-guides/profiles/manage-profiles.png" alt="profiles" className="imagewrapper"/>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
## What Is a Profile?
|
||||||
|
|
||||||
|
A **profile** is your NetBird configuration bundle: WireGuard keys, login state, and network settings all in one file.
|
||||||
|
Think of it as a separate "NetBird account" on your machine:
|
||||||
|
|
||||||
|
- **Default profile**
|
||||||
|
Created automatically on first run or after upgrade.
|
||||||
|
- **Custom profiles**
|
||||||
|
Any number of additional profiles you add yourself (e.g. `work`, `home`, `test`).
|
||||||
|
|
||||||
|
Profiles live in your system or user config folders:
|
||||||
|
|
||||||
|
| OS | System-wide path | User path |
|
||||||
|
| ------ | --------------------------------- | ----------------------------------------------------- |
|
||||||
|
| Linux | `/var/lib/netbird/profiles/...` | `~/.config/netbird/<profile>.json` |
|
||||||
|
| macOS | `/Library/Application Support/...`| `~/Library/Application Support/NetBird/<profile>.json`|
|
||||||
|
| Windows| `%ProgramData%\Netbird\profiles\` | `%APPDATA%\Netbird\<profile>.json` |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Why Use Profiles?
|
||||||
|
|
||||||
|
- **Seamless switching** between multiple NetBird networks/accounts
|
||||||
|
- **No manual config files updates**: all configs are managed through the CLI or GUI
|
||||||
|
- **Persistent state**: your last active profile reconnects on startup
|
||||||
|
- **Safe defaults**: you cannot remove the active/default profile by accident
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Upgrading From an Older Version
|
||||||
|
|
||||||
|
If you're upgrading from NetBird below version `0.52.0` that did not support profiles, here's what happens:
|
||||||
|
|
||||||
|
* During the first launch after the upgrade, your existing config `/etc/netbird/config.json` (or Windows equivalent) is automatically
|
||||||
|
copied to a new profile named `default`.
|
||||||
|
* The `default` profile is set as active, and you can start using it immediately.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Profile CLI Commands
|
||||||
|
|
||||||
|
With the CLI, you can manage profiles easily. The main command is:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
netbird profile <add|list|select|remove> [name]
|
||||||
|
````
|
||||||
|
|
||||||
|
### Add a New Profile
|
||||||
|
|
||||||
|
To create a new profile, use the command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
netbird profile add <PROFILE_NAME>
|
||||||
|
```
|
||||||
|
|
||||||
|
For example, the command below creates a new profile named `work`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
netbird profile add work
|
||||||
|
```
|
||||||
|
|
||||||
|
This command does the following in the background:
|
||||||
|
|
||||||
|
* Creates a `work.json` file in your config folder.
|
||||||
|
* Keeps the client disconnected until you run `netbird up` or `netbird login`.
|
||||||
|
* Will throw an error if the profile with the same name already exists.
|
||||||
|
|
||||||
|
### List Profiles
|
||||||
|
|
||||||
|
The command below lists all available profiles along with their status:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
netbird profile list
|
||||||
|
```
|
||||||
|
|
||||||
|
For example, running this command might output:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Found 3 profiles:
|
||||||
|
✓ work
|
||||||
|
✗ default
|
||||||
|
✗ home
|
||||||
|
```
|
||||||
|
|
||||||
|
* **✓** = active
|
||||||
|
* **✗** = inactive
|
||||||
|
|
||||||
|
### Select (Switch) a Profile
|
||||||
|
|
||||||
|
To switch to a specific profile, use:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
netbird profile select <PROFILE_NAME>
|
||||||
|
```
|
||||||
|
|
||||||
|
For example, to switch to the `home` profile:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
netbird profile select home
|
||||||
|
```
|
||||||
|
|
||||||
|
The successful command will output:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Profile switched successfully to: home
|
||||||
|
```
|
||||||
|
|
||||||
|
If `home` hasn't been used before, you will need to run `netbird up` or `netbird login` to authenticate.
|
||||||
|
If the profile does not exist, you'll see an error message:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Error: profile home does not exist
|
||||||
|
```
|
||||||
|
|
||||||
|
### Remove a Profile
|
||||||
|
|
||||||
|
To remove a profile, use:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
netbird profile remove <PROFILE_NAME>
|
||||||
|
```
|
||||||
|
|
||||||
|
For example, to remove the `home` profile:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
netbird profile remove home
|
||||||
|
```
|
||||||
|
|
||||||
|
If successful, you'll see:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Profile removed successfully: home
|
||||||
|
```
|
||||||
|
|
||||||
|
You can't remove an active profile. If the profile your are trying to remove is active, you'll see an error:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Cannot remove active profile: home
|
||||||
|
```
|
||||||
|
|
||||||
|
If the profile does not exist, you'll see an error message:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Error: profile home does not exist
|
||||||
|
```
|
||||||
|
|
||||||
|
The command does the following in the background:
|
||||||
|
|
||||||
|
* Removes `home.json` and `home.state.json` files from your config folder.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Using `--profile` Flags
|
||||||
|
|
||||||
|
You can use the `--profile` flag with any NetBird CLI command to specify which profile to use for that command.
|
||||||
|
This is useful for running commands in a specific context without switching profiles manually.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
netbird up --profile work
|
||||||
|
netbird login --profile home
|
||||||
|
```
|
||||||
|
|
||||||
|
NetBird switches to the named profile then runs the command under the hood. If the profile is new and hasn't been used yet,
|
||||||
|
you'll be prompted to authenticate.
|
||||||
Reference in New Issue
Block a user