NetBird - FOSS noconf Mesh VPN using Wireguard, alternative to ZeroTier, Tailscale, OmniEdge, Netmaker etc
-
Testing on a real Cloudron instance (I haven't done this yet -- the packaging is based on docs and the combined container architecture)
I don't know how this is possible - I always need to do multiple builds to get a working package.
I started building from @marcusquinn repo.
I needed to make some changes. Currently app builds and installs but have hit a circular dependency ("Catch-22") regarding authentication.The Goal: Configure NetBird to use Cloudron's OIDC service as its Identity Provider.
The Problem:
- Configuration requires Login: To add Cloudron OIDC as an IdP, I need to log in to the NetBird dashboard (or use the API, which requires a token).
- Initial Login requires Embedded Dex: Since Cloudron OIDC isn't configured yet, I must use the embedded Dex IdP for the first login.
- Embedded Dex Fails: The embedded IdP is configured strictly according to the "combined server" docs (v0.36+). The dashboard loads, redirects to the embedded auth flow, but fails at the final step:
- POST /oauth2/token returns 401 Unauthorized .
- Browser console shows: storage[oidc.login.default] is empty and Token request failed .
- Logs show no specific server-side error, just the 401.
The Catch-22: I cannot log in (via embedded Dex) to configure the external IdP (Cloudron OIDC). I cannot configure the external IdP via files/env vars to bypass the broken embedded login.
I will try a hack to get past this.
-
Starting again, fresh start.
Will update. -
Parking this for now - can't get past auth errors, even stripping out any OIDC and just using the embedded Dex user management.
Will resume at some point because Netbird is very cool, works well for me via separately-hosted docker compose, and would be good to have on Cloudron.
But other priorities push Netbird down the list. -
Parking this for now - can't get past auth errors, even stripping out any OIDC and just using the embedded Dex user management.
Will resume at some point because Netbird is very cool, works well for me via separately-hosted docker compose, and would be good to have on Cloudron.
But other priorities push Netbird down the list.@timconsidine thanks for testing. Refactored so OICD is an optional extra, plus other changes to the whole approach. README should explain.
-
@timconsidine thanks for testing. Refactored so OICD is an optional extra, plus other changes to the whole approach. README should explain.
@marcusquinn I tried similar approach - simplify to just Netbird and embedded Dex. But that wasn't enough.
Will try again shortly with fresh brain. -
Added as a community app here:
-
very cool. Just installed but do not get to the initial admin dashboard to make the admin account (neither with the installed URL Netbird.xyz.com nor with Netbird.xyz.coom/peers.
instead I get an error (There was an error logging you in.
Error: Unauthenticated). -
very cool. Just installed but do not get to the initial admin dashboard to make the admin account (neither with the installed URL Netbird.xyz.com nor with Netbird.xyz.coom/peers.
instead I get an error (There was an error logging you in.
Error: Unauthenticated).@marcusquinn just saw that the stun port is already reserved an so not being used by netbird. Changing the port number doesn't help as the app doesn't keep it and deactivates it again after restarting the container.
(is there a way to find out which app uses that port in Cloudron? couldn't find it)
-
@marcusquinn just saw that the stun port is already reserved an so not being used by netbird. Changing the port number doesn't help as the app doesn't keep it and deactivates it again after restarting the container.
(is there a way to find out which app uses that port in Cloudron? couldn't find it)
@sponch Can you post issues to the github repo and any relevant info, please? My systems will pick them up, review, and patch. Sorry, I can maintain it, but rely on other user feedback in case there's things my setup solved but don't work yet for others.
If I can recommend a look, too, at my main ai harness invention: https://aidevops.sh, because it's really good at diagnosing issues and logging them to the git repo for then solving.
-
@marcusquinn I logged an issue - can't get it installed - might be a simple fix (detailed in issue).
-
@marcusquinn I logged an issue - can't get it installed - might be a simple fix (detailed in issue).
@timconsidine sorry, forgot to star my own repo to get notifications — looking now — should be a quick fix & release with you soon...
-
@marcusquinn I logged an issue - can't get it installed - might be a simple fix (detailed in issue).
@timconsidine latest release should work. Let me know if now. I'll get notifications for any new issues now.
-
@timconsidine latest release should work. Let me know if now. I'll get notifications for any new issues now.
@marcusquinn thank you for checking and resolving
-
@marcusquinn still not working here.
No possibility to create an account via Dashboard on initial start. Also had to change stun port because default is already in use here. -
@marcusquinn still not working here.
No possibility to create an account via Dashboard on initial start. Also had to change stun port because default is already in use here.@sponch Can you try again from the latest release, please?
-
I got the same as @sponch did earlier.
Getting the same after the latest version.Also FYI UDP port 3478 cannot be used (reserved).
Ticking the STUN NAT Traversal box and setting and saving 3479 superficially works, but on going back to 'Location' in app portal, 3479 has not been saved, it's reverted to 3478 and the tick box to enable custom port has been unticked.I don't think the app CloudronManifest.json is using the cloudron turn addon, which might (not sure) allow port 3478 to be used.
-
@sponch Can you try again from the latest release, please?
@marcusquinn hey, its working now thanks! Do you think it's possible to include the proxy cluster in the installation? it's quite a pain to install that afterwards

-
@sponch said it worked so I went back, dug deeper, my browser cache was the culprit
So yes, management app incl login working.
Thank you @marcusquinnI can't get a peer connected using
netbird up -m https://netbird.domain.tld:443 -k <app_generated_secret_key> -
@sponch said it worked so I went back, dug deeper, my browser cache was the culprit
So yes, management app incl login working.
Thank you @marcusquinnI can't get a peer connected using
netbird up -m https://netbird.domain.tld:443 -k <app_generated_secret_key>@timconsidine should it not be
netbird up --management-url https://netbird.xxx.tld --setup-key xxx -
@timconsidine should it not be
netbird up --management-url https://netbird.xxx.tld --setup-key xxx@sponch yes,, I am just using the short forms
-mand-k-m, --management-url string Management Service URL [http|https]://[host]:[port] (default "https://api.netbird.io:443") -k, --setup-key string Setup key obtained from the Management Service Dashboard (used to register peer)I don't get a client connecting to the management app with long or short forms. Did you ?
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login