Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps - Status | Demo | Docs | Install
  1. Cloudron Forum
  2. App Wishlist
  3. NetBird - FOSS noconf Mesh VPN using Wireguard, alternative to ZeroTier, Tailscale, OmniEdge, Netmaker etc

NetBird - FOSS noconf Mesh VPN using Wireguard, alternative to ZeroTier, Tailscale, OmniEdge, Netmaker etc

Scheduled Pinned Locked Moved App Wishlist
18 Posts 6 Posters 4.4k Views 9 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • marcusquinnM Offline
    marcusquinnM Offline
    marcusquinn
    wrote last edited by
    #9

    Revisited all of these alternatives.

    Netbird is the clear winner for me. Has my recommendation!

    Web Design & Development: https://www.evergreen.je
    Technology & Apps: https://www.marcusquinn.com

    1 Reply Last reply
    2
    • marcusquinnM Offline
      marcusquinnM Offline
      marcusquinn
      wrote last edited by
      #10

      1st draft packaging this, if anyone that know's more wants to test:

      • https://github.com/marcusquinn/cloudron-netbird-app

      Web Design & Development: https://www.evergreen.je
      Technology & Apps: https://www.marcusquinn.com

      1 Reply Last reply
      3
      • marcusquinnM Offline
        marcusquinnM Offline
        marcusquinn
        wrote last edited by
        #11

        Update on the Cloudron NetBird package
        The packaging scaffold at https://github.com/marcusquinn/cloudron-netbird-app is fairly complete -- it uses the combined netbird-server binary behind an internal nginx that consolidates all the path-based routing (gRPC, WebSocket, REST API, dashboard) onto a single HTTP port for Cloudron's reverse proxy.
        What works (in theory -- needs real-world testing):

        • Management API, Signal, Relay, STUN, and Dashboard all in one container
        • Cloudron SSO via the OIDC addon
        • Cloudron's built-in TURN server for NAT traversal relay
        • PostgreSQL via Cloudron addon
        • Backup/restore of all persistent state
          The one feature that can't work on Cloudron: NetBird's Reverse Proxy (v0.65+)
          This is NetBird's newer feature that exposes internal services on mesh peers to the public internet with automatic TLS. It requires Traefik with TLS passthrough -- the NetBird proxy container needs to terminate TLS itself. Cloudron's nginx terminates TLS before traffic reaches the app, so there's no way to pass through the raw TLS connection that NetBird's proxy needs.
          I looked at whether alpine/socat (TCP socket forwarder) could bridge this gap, but it can't -- the problem is Layer 7 (HTTP path routing, gRPC protocol handling, TLS termination order), not Layer 4 (TCP forwarding). socat only does port-to-port TCP forwarding and has no understanding of HTTP paths, gRPC, or WebSocket upgrade headers.
          This doesn't affect the core VPN functionality at all -- peer-to-peer WireGuard tunnels, NAT traversal, access control, DNS, network routes, and the management dashboard all work fine without it. The reverse proxy is an optional add-on for publicly exposing internal services.

        What's needed next:

        1. Testing on a real Cloudron instance (I haven't done this yet -- the packaging is based on docs and the combined container architecture)
        2. Verifying the internal nginx correctly handles the gRPC h2c proxying that Signal and Management need
        3. End-to-end OIDC flow testing with Cloudron SSO
        4. TURN relay testing for peers behind strict NAT
          If anyone wants to help test, the repo has a full testing checklist in the README. Would be great to get this into the Cloudron App Store.

        feedback welcome!

        Web Design & Development: https://www.evergreen.je
        Technology & Apps: https://www.marcusquinn.com

        1 Reply Last reply
        8
        • timconsidineT Offline
          timconsidineT Offline
          timconsidine
          App Dev
          wrote last edited by
          #12

          Great work @marcusquinn

          Will try to test it out, been wanting NetBird, currently running it on a separate VPS

          I ran into similar issues about routing of traffic when I was packaging Agate+. But I don’t recall the solution (and may not be a solution) - will try to check it out.

          Indie app dev, scratching my itches, lover of Cloudron PaaS

          1 Reply Last reply
          2
          • marcusquinnM Offline
            marcusquinnM Offline
            marcusquinn
            wrote last edited by
            #13

            Related: https://forum.cloudron.io/topic/15109/tls-passthrough-option-for-apps-requiring-end-to-end-tls

            Web Design & Development: https://www.evergreen.je
            Technology & Apps: https://www.marcusquinn.com

            1 Reply Last reply
            0
            • timconsidineT Offline
              timconsidineT Offline
              timconsidine
              App Dev
              wrote last edited by
              #14

              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:

              1. 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).
              2. Initial Login requires Embedded Dex: Since Cloudron OIDC isn't configured yet, I must use the embedded Dex IdP for the first login.
              3. 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.

              Indie app dev, scratching my itches, lover of Cloudron PaaS

              1 Reply Last reply
              0
              • timconsidineT Offline
                timconsidineT Offline
                timconsidine
                App Dev
                wrote last edited by
                #15

                Starting again, fresh start.
                Will update.

                Indie app dev, scratching my itches, lover of Cloudron PaaS

                1 Reply Last reply
                0
                • timconsidineT Offline
                  timconsidineT Offline
                  timconsidine
                  App Dev
                  wrote last edited by
                  #16

                  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.

                  Indie app dev, scratching my itches, lover of Cloudron PaaS

                  marcusquinnM 1 Reply Last reply
                  2
                  • timconsidineT timconsidine

                    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.

                    marcusquinnM Offline
                    marcusquinnM Offline
                    marcusquinn
                    wrote last edited by
                    #17

                    @timconsidine thanks for testing. Refactored so OICD is an optional extra, plus other changes to the whole approach. README should explain.

                    Web Design & Development: https://www.evergreen.je
                    Technology & Apps: https://www.marcusquinn.com

                    timconsidineT 1 Reply Last reply
                    2
                    • marcusquinnM marcusquinn

                      @timconsidine thanks for testing. Refactored so OICD is an optional extra, plus other changes to the whole approach. README should explain.

                      timconsidineT Offline
                      timconsidineT Offline
                      timconsidine
                      App Dev
                      wrote last edited by
                      #18

                      @marcusquinn I tried similar approach - simplify to just Netbird and embedded Dex. But that wasn't enough.
                      Will try again shortly with fresh brain.

                      Indie app dev, scratching my itches, lover of Cloudron PaaS

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Bookmarks
                      • Search