Netbird Expose not working

Hi!

I have a self-hosted netbird setup with docker installed and fully functional.
I already have the proxy cluster and custom domains configured:

Exposing a service via the dashboard works perfectly.

But, when the client runs netbird expose, I get following error:
Client side: Error: receive expose event: internal error
Server side: ERRO [context: GRPC, requestID: d8v79jtl5mhc73cl8a0g, accountID: d8q180tl5mhc73dl13gg] management/internals/shared/grpc/expose_service.go:141: expose service error: no cluster domains available

The “Enable peer expose” feature is enabled, and all groups have the proper permissions.

What am I missing here?

Versions used:
management: v0.73.2
dashboard: v2.80.0
client: v0.73.2

Thank you!

What about the exposed domain? Does it have that domain as it’s default or do you still need to set the default domain on the netbird instance? Try using the parameter to set a domain for the proxy when exposing, maybe that’ll work?

I tested it and --with-custom-domain works correctly.

However, netbird expose <port> without specifying a domain still fails with:

no cluster domains available

So it looks like the CLI is unable to automatically select a cluster/default domain, even though the Dashboard can create reverse proxy services successfully using the same proxy cluster.

Is there currently a way to configure a default domain for netbird expose, or is this a bug?

Hmmm, weird, this is a good one. My best guess is that the domain isn’t selected or designed to be a global domain for the entire instance. ANd thus is refusing to default assign it, however. That’s conjecture on my part. I’d suggest you to look into asking this on the Slack or Github for now.

Hello!

Joining this thread.
Just using netbird expose <port> doesn’t do anything, but with --with-custom-domain <proxy-cluster-domain>everything works. My thoughts is that something like default proxy domain should be added to the setting, that will be used for netbird expose if you haven’t passed other domain with flag. Because for me its a bad UX when you forced to type domain every time you’re exposing something from CLI, you must be able to use command with only port specified.
I’ll check GitHub tmrw to see, maybe someone already asked for such feature and if no will open one.