[GH-ISSUE #4497] Why not provide a simple and convenient way to deploy relay #8792

Open
opened 2026-08-05 01:19:34 -04:00 by saavagebueno · 8 comments
Owner

Originally created by @UA-Jin on GitHub (Sep 15, 2025).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/4497

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

There have been continuous issues with the deployment of relay relay nodes, making cross-regional use extremely inconvenient. This is because the latency is particularly high, and the back-and-forth stacking will be very sluggish
I think this function is extremely important in self-hosting. Otherwise, when each node cannot P2P, it is very normal for the relay signal to stack back and back, and the delay to rise to over 1000ms

Describe the solution you'd like
A clear and concise description of what you want to happen.

can directly use peers for relaying or add relay nodes in the console just like peers

Originally created by @UA-Jin on GitHub (Sep 15, 2025). Original GitHub issue: https://github.com/netbirdio/netbird/issues/4497 **Is your feature request related to a problem? Please describe.** A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] **There have been continuous issues with the deployment of relay relay nodes, making cross-regional use extremely inconvenient. This is because the latency is particularly high, and the back-and-forth stacking will be very sluggish** **I think this function is extremely important in self-hosting. Otherwise, when each node cannot P2P, it is very normal for the relay signal to stack back and back, and the delay to rise to over 1000ms** **Describe the solution you'd like** A clear and concise description of what you want to happen. **can directly use peers for relaying or add relay nodes in the console just like peers**
saavagebueno added the feature-request label 2026-08-05 01:19:34 -04:00
Author
Owner

@1nerdyguy commented on GitHub (Sep 15, 2025):

What kind of issues do you have on the deployment?

It's literally just 'spin up container, add new url to config on management server'

<!-- gh-comment-id:3292053996 --> @1nerdyguy commented on GitHub (Sep 15, 2025): What kind of issues do you have on the deployment? It's literally just 'spin up container, add new url to config on management server'
Author
Owner

@mlsmaycon commented on GitHub (Sep 15, 2025):

@UA-Jin can you clarify if your issue is with having multiple relay servers, how to do that or running multiple nodes behind a loadbalancer?

<!-- gh-comment-id:3292091967 --> @mlsmaycon commented on GitHub (Sep 15, 2025): @UA-Jin can you clarify if your issue is with having multiple relay servers, how to do that or running multiple nodes behind a loadbalancer?
Author
Owner

@UA-Jin commented on GitHub (Sep 15, 2025):

@UA-Jin你能澄清,如果你的问题是有多个中继服务器,如何做到这一点或运行多个节点后面的负载平衡器?

It's not load balancing. I have many servers with bandwidth ranging from 50M to 200M, but their configurations are not high, only 1CPU and 0.5G memory. I tried to pull netbirdio/relay from docker and run the configuration using docker run. In the middle, rel://SPARE_IP:33080 After writing the management configuration ,All ports of the relay server have also been opened. A rather troublesome issue is that I cannot use the domain name to bind the ip and apply for an ssl certificate to use rels://. Only the server's IP can be used for relay

<!-- gh-comment-id:3294594770 --> @UA-Jin commented on GitHub (Sep 15, 2025): > [@UA-Jin](https://github.com/UA-Jin)你能澄清,如果你的问题是有多个中继服务器,如何做到这一点或运行多个节点后面的负载平衡器? It's not load balancing. I have many servers with bandwidth ranging from 50M to 200M, but their configurations are not high, only 1CPU and 0.5G memory. I tried to pull netbirdio/relay from docker and run the configuration using docker run. In the middle, rel://SPARE_IP:33080 After writing the management configuration ,All ports of the relay server have also been opened. A rather troublesome issue is that I cannot use the domain name to bind the ip and apply for an ssl certificate to use rels://. Only the server's IP can be used for relay
Author
Owner

@UA-Jin commented on GitHub (Sep 15, 2025):

您在部署时遇到了哪些问题?

它的字面意思是 “旋转容器,在管理服务器上添加新的url到配置”

rel:// SPARE_IP:33080 Cannot be used normally, However, I can only use the server ip for relay configuration,It's really a headache.

<!-- gh-comment-id:3294610181 --> @UA-Jin commented on GitHub (Sep 15, 2025): > 您在部署时遇到了哪些问题? > > 它的字面意思是 “旋转容器,在管理服务器上添加新的url到配置” rel:// SPARE_IP:33080 Cannot be used normally, However, I can only use the server ip for relay configuration,It's really a headache.
Author
Owner

@1nerdyguy commented on GitHub (Sep 15, 2025):

Relay's don't load balance, really. The clients will use the relay that responds the fastest to them. So depending on how your clients are distributed, I'd expect them to end up using the same one over and over all things considered.

<!-- gh-comment-id:3294665856 --> @1nerdyguy commented on GitHub (Sep 15, 2025): Relay's don't load balance, really. The clients will use the relay that responds the fastest to them. So depending on how your clients are distributed, I'd expect them to end up using the same one over and over all things considered.
Author
Owner

@UA-Jin commented on GitHub (Sep 15, 2025):

Relay's don't load balance, really. The clients will use the relay that responds the fastest to them. So depending on how your clients are distributed, I'd expect them to end up using the same one over and over all things considered.

Yes, I'm aware of this, but I'm currently stuck on the deployment of relay. So, is there a complete tutorial for deploying relay using IP, Or a deployment script can be added,Deployment only requires running the script and modifying management.json

<!-- gh-comment-id:3294710032 --> @UA-Jin commented on GitHub (Sep 15, 2025): > Relay's don't load balance, really. The clients will use the relay that responds the fastest to them. So depending on how your clients are distributed, I'd expect them to end up using the same one over and over all things considered. Yes, I'm aware of this, but I'm currently stuck on the deployment of relay. So, is there a complete tutorial for deploying relay using IP, Or a deployment script can be added,Deployment only requires running the script and modifying management.json
Author
Owner

@flhs0606 commented on GitHub (Jan 25, 2026):

Relay's don't load balance, really. The clients will use the relay that responds the fastest to them. So depending on how your clients are distributed, I'd expect them to end up using the same one over and over all things considered.

Yes, I'm aware of this, but I'm currently stuck on the deployment of relay. So, is there a complete tutorial for deploying relay using IP, Or a deployment script can be added,Deployment only requires running the script and modifying management.json

see: https://github.com/netbirdio/netbird/issues/4874#issuecomment-3770523081

<!-- gh-comment-id:3796083698 --> @flhs0606 commented on GitHub (Jan 25, 2026): > > Relay's don't load balance, really. The clients will use the relay that responds the fastest to them. So depending on how your clients are distributed, I'd expect them to end up using the same one over and over all things considered. > > Yes, I'm aware of this, but I'm currently stuck on the deployment of relay. So, is there a complete tutorial for deploying relay using IP, Or a deployment script can be added,Deployment only requires running the script and modifying management.json see: https://github.com/netbirdio/netbird/issues/4874#issuecomment-3770523081
Author
Owner

@heymoe commented on GitHub (Feb 15, 2026):

I have a related question but with a 0.65.x release twist.

I currently have a pre-0.65.x deployment where we have the 4 separate NetBird containers (signal, relay, management and dashboard). I've also deployed a secondary relay/stun node by running a docker instance of the netbirdio/relay container on a separate host and adding the needed entries to the management.json file on the NetBird server to add the additional relay/stun host. Everything seems to be working as expected.

With the release of NetBird 0.65.x, the signal, relay and management containers have been merged into a single new netbird-server container. From an additional relay/stum deployment point of view, I'm assuming the original netbirdio/relay container will continue to be maintained and thus can still be used for the deployment of additional relay/stun hosts.

The question I have is that with the new netbird-server container, a management.json file is no longer being used, seemingly replaced by config.yaml BUT I don't see a section in the config.yaml file to define relay or stun servers like there was in the management.json file. So with the new 0.65.x+ release, how / where do we add additional relay/stun hosts to the new netbird-server container config?

<!-- gh-comment-id:3904037396 --> @heymoe commented on GitHub (Feb 15, 2026): I have a related question but with a 0.65.x release twist. I currently have a pre-0.65.x deployment where we have the 4 separate NetBird containers (signal, relay, management and dashboard). I've also deployed a secondary relay/stun node by running a docker instance of the netbirdio/relay container on a separate host and adding the needed entries to the management.json file on the NetBird server to add the additional relay/stun host. Everything seems to be working as expected. With the release of NetBird 0.65.x, the signal, relay and management containers have been merged into a single new netbird-server container. From an additional relay/stum deployment point of view, I'm assuming the original netbirdio/relay container will continue to be maintained and thus can still be used for the deployment of additional relay/stun hosts. The question I have is that with the new netbird-server container, a management.json file is no longer being used, seemingly replaced by config.yaml BUT I don't see a section in the config.yaml file to define relay or stun servers like there was in the management.json file. So with the new 0.65.x+ release, how / where do we add additional relay/stun hosts to the new netbird-server container config?
Sign in to join this conversation.
No Label feature-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#8792