[GH-ISSUE #853] Netbird server Helm chart #1273

Closed
opened 2026-08-05 00:41:52 -04:00 by saavagebueno · 27 comments
Owner

Originally created by @MohammedNoureldin on GitHub (May 13, 2023).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/853

Hi,

I have created this issue to track the status of creating a Helm chart to install a self-hosted server easily.

I have just finished preparing all Kubernetes required resources and got it working out of the box. Here I am using no "magic script" to create my configuration, because it was the most tedious part for me to get everything working without the script, because it reduced the readability and my understanding to what is going on and how is every part being configured. Though it is not ready to be shared, and I would just track status of what the community will create.

Originally created by @MohammedNoureldin on GitHub (May 13, 2023). Original GitHub issue: https://github.com/netbirdio/netbird/issues/853 Hi, I have created this issue to track the status of creating a Helm chart to install a self-hosted server easily. I have just finished preparing all Kubernetes required resources and got it working out of the box. Here I am using no "magic script" to create my configuration, because it was the most tedious part for me to get everything working without the script, because it reduced the readability and my understanding to what is going on and how is every part being configured. Though it is not ready to be shared, and I would just track status of what the community will create.
saavagebueno added the waiting-feedbackhelp wanted labels 2026-08-05 00:41:52 -04:00
Author
Owner

@jayvardhan2111 commented on GitHub (Jul 4, 2023):

You can assign me this task.
Also, Please help me in finding Kubernetes manifest files so that I can start working on packaging it using Helm.

<!-- gh-comment-id:1619564205 --> @jayvardhan2111 commented on GitHub (Jul 4, 2023): You can assign me this task. Also, Please help me in finding Kubernetes manifest files so that I can start working on packaging it using Helm.
Author
Owner

@M0NsTeRRR commented on GitHub (Nov 6, 2023):

Hello @MohammedNoureldin @jayvardhan2111
Any news on this feature request ?
Regards,

<!-- gh-comment-id:1797148749 --> @M0NsTeRRR commented on GitHub (Nov 6, 2023): Hello @MohammedNoureldin @jayvardhan2111 Any news on this feature request ? Regards,
Author
Owner

@M0NsTeRRR commented on GitHub (Nov 6, 2023):

As I see jaconi company have shared helm chart for client and server https://artifacthub.io/packages/helm/jaconi/netbird

https://github.com/jaconi-io/helm-charts/tree/main

<!-- gh-comment-id:1797154740 --> @M0NsTeRRR commented on GitHub (Nov 6, 2023): As I see jaconi company have shared helm chart for client and server https://artifacthub.io/packages/helm/jaconi/netbird https://github.com/jaconi-io/helm-charts/tree/main
Author
Owner

@dextercai commented on GitHub (Nov 19, 2023):

As I see jaconi company have shared helm chart for client and server https://artifacthub.io/packages/helm/jaconi/netbird

https://github.com/jaconi-io/helm-charts/tree/main

HelmCharts from jaconi's company seems a bit complicated, I think there can be a simplified version for easier understanding.

<!-- gh-comment-id:1818190049 --> @dextercai commented on GitHub (Nov 19, 2023): > As I see jaconi company have shared helm chart for client and server https://artifacthub.io/packages/helm/jaconi/netbird > > https://github.com/jaconi-io/helm-charts/tree/main HelmCharts from jaconi's company seems a bit complicated, I think there can be a simplified version for easier understanding.
Author
Owner

@M0NsTeRRR commented on GitHub (Nov 20, 2023):

As I see jaconi company have shared helm chart for client and server https://artifacthub.io/packages/helm/jaconi/netbird

https://github.com/jaconi-io/helm-charts/tree/main

HelmCharts from jaconi's company seems a bit complicated, I think there can be a simplified version for easier understanding.

It's a classic helm chart with a lot of configurable features (all ? I didn't look much into in for now) with default values also. If we have a simple helm chart if your requirement change and need a feature that's not managed you have to migrate to another helm chart. Documentation and default values (when possible) will helps to understand.

<!-- gh-comment-id:1819503211 --> @M0NsTeRRR commented on GitHub (Nov 20, 2023): > > As I see jaconi company have shared helm chart for client and server https://artifacthub.io/packages/helm/jaconi/netbird > > > > https://github.com/jaconi-io/helm-charts/tree/main > > HelmCharts from jaconi's company seems a bit complicated, I think there can be a simplified version for easier understanding. It's a classic helm chart with a lot of configurable features (all ? I didn't look much into in for now) with default values also. If we have a simple helm chart if your requirement change and need a feature that's not managed you have to migrate to another helm chart. Documentation and default values (when possible) will helps to understand.
Author
Owner

@marcportabellaclotet-mt commented on GitHub (Jun 4, 2024):

I have written a generic helm chart, which is not as coupled as the one from jaconi. Right now works quite well, and is quite configurable.
The difficult part, is how to manage the management configuration file, and populate it with configs and secrets.
Should I create a PR on this repo, with a proposal?
Spoiler alert:

  • It will support configuration template with secrets and config support using vals in an init container.
<!-- gh-comment-id:2147652797 --> @marcportabellaclotet-mt commented on GitHub (Jun 4, 2024): I have written a generic helm chart, which is not as coupled as the one from jaconi. Right now works quite well, and is quite configurable. The difficult part, is how to manage the management configuration file, and populate it with configs and secrets. Should I create a PR on this repo, with a proposal? Spoiler alert: - It will support configuration template with secrets and config support using [vals](https://github.com/helmfile/vals) in an init container.
Author
Owner

@dfry commented on GitHub (Jun 10, 2024):

@marcportabellaclotet-mt can you share a preview of your chart with the proposal? thanks

<!-- gh-comment-id:2158017542 --> @dfry commented on GitHub (Jun 10, 2024): @marcportabellaclotet-mt can you share a preview of your chart with the proposal? thanks
Author
Owner

@marcportabellaclotet-mt commented on GitHub (Jun 11, 2024):

Here is a basic version of the Helm chart that I am using.

It needs documentation, which could be added if the proposal is accepted.
The aim is to support any configuration since it's impractical to template all possible configurations based on the management.json file.

To render the configuration, we will need to run the configure.sh from Netbird, include it as values.configuration in the netbird chart, and replace sensitive data with vals references. Note that netbird-dashboard also needs to update some env vars.

Maybe I could merge both charts for simplicity.

I provide an example using Authentik as an IdP and Kubernetes secrets to manage sensitive data.

For deploying the TURN server, I have successfully done so in Kubernetes using the Stunner Gateway Operator.

<!-- gh-comment-id:2161455706 --> @marcportabellaclotet-mt commented on GitHub (Jun 11, 2024): [Here](https://github.com/totmicro/helms/tree/main/charts) is a basic version of the Helm chart that I am using. It needs documentation, which could be added if the proposal is accepted. The aim is to support any configuration since it's impractical to template all possible configurations based on the management.json file. To render the configuration, we will need to run the configure.sh from [Netbird](https://github.com/netbirdio/netbird/tree/main/infrastructure_files), include it as values.configuration in the netbird chart, and replace sensitive data with [vals](https://github.com/helmfile/vals) references. Note that netbird-dashboard also needs to update some env vars. Maybe I could merge both charts for simplicity. I provide an example using Authentik as an IdP and Kubernetes secrets to manage sensitive data. For deploying the TURN server, I have successfully done so in Kubernetes using the [Stunner Gateway Operator](https://github.com/l7mp/stunner-gateway-operator).
Author
Owner

@marcportabellaclotet-mt commented on GitHub (Oct 7, 2024):

I've just updated the helm chart, with relay support.
It includes examples, documentation, and now you can use it as a helm release:

helm repo add netbird-helm https://totmicro.github.io/helms

Details here.

<!-- gh-comment-id:2397945714 --> @marcportabellaclotet-mt commented on GitHub (Oct 7, 2024): I've just updated the helm chart, with relay support. It includes examples, documentation, and now you can use it as a helm release: ``` helm repo add netbird-helm https://totmicro.github.io/helms ``` Details [here](https://github.com/totmicro/helms).
Author
Owner

@dfry commented on GitHub (Oct 8, 2024):

@marcportabellaclotet-mt that is great work. I had forked your repo earlier and added some elements that I needed: https://github.com/mojaloop/netbird-charts

i would like to move to using your chart repo if we can see if my changes are needed anymore and if so, make a PR from mine to yours.

But also, was wondering if you are on the netbird slack. There are other users there interested in a helm chart and it would be good to get the discussion going with them as well as the netbird guys.

one big thing would be to address the use of env vars in the management.json config so we don't need the helmfile secrets injection and the kubectl init container bit.

<!-- gh-comment-id:2399338137 --> @dfry commented on GitHub (Oct 8, 2024): @marcportabellaclotet-mt that is great work. I had forked your repo earlier and added some elements that I needed: https://github.com/mojaloop/netbird-charts i would like to move to using your chart repo if we can see if my changes are needed anymore and if so, make a PR from mine to yours. But also, was wondering if you are on the netbird slack. There are other users there interested in a helm chart and it would be good to get the discussion going with them as well as the netbird guys. one big thing would be to address the use of env vars in the management.json config so we don't need the helmfile secrets injection and the kubectl init container bit.
Author
Owner

@marcportabellaclotet-mt commented on GitHub (Oct 8, 2024):

I will join netbird slack, to discuss about this.

<!-- gh-comment-id:2399467226 --> @marcportabellaclotet-mt commented on GitHub (Oct 8, 2024): I will join netbird slack, to discuss about this.
Author
Owner

@KlavsKlavsen commented on GitHub (Jan 24, 2025):

so the concensus is that you are moving forward with @marcportabellaclotet-mt 's helm chart.. and eventually merge that into netbird repo here as the official helm chart, or ?

<!-- gh-comment-id:2612011102 --> @KlavsKlavsen commented on GitHub (Jan 24, 2025): so the concensus is that you are moving forward with @marcportabellaclotet-mt 's helm chart.. and eventually merge that into netbird repo here as the official helm chart, or ?
Author
Owner

@drewhemm commented on GitHub (Jan 24, 2025):

I am also happy to contribute to this effort.

<!-- gh-comment-id:2612873567 --> @drewhemm commented on GitHub (Jan 24, 2025): I am also happy to contribute to this effort.
Author
Owner

@dfry commented on GitHub (Jan 24, 2025):

join the netbird slack #helm channel

<!-- gh-comment-id:2612879489 --> @dfry commented on GitHub (Jan 24, 2025): join the netbird slack #helm channel
Author
Owner

@nazarewk commented on GitHub (Apr 28, 2025):

Hello @MohammedNoureldin,

We're currently reviewing our open issues and would like to verify if this problem still exists in the latest NetBird version.

Could you please confirm if the issue is still there?

We may close this issue temporarily if we don't hear back from you within 2 weeks, but feel free to reopen it with updated information.

Thanks for your contribution to improving the project!

<!-- gh-comment-id:2835675482 --> @nazarewk commented on GitHub (Apr 28, 2025): Hello @MohammedNoureldin, We're currently reviewing our open issues and would like to verify if this problem still exists in the [latest NetBird version](https://github.com/netbirdio/netbird/releases). Could you please confirm if the issue is still there? We may close this issue temporarily if we don't hear back from you within **2 weeks**, but feel free to reopen it with updated information. Thanks for your contribution to improving the project!
Author
Owner

@MohammedNoureldin commented on GitHub (Jun 1, 2025):

It is not an issue, we are missing the official Helm, while I am currently using my self-written chart. FYI @nazarewk

<!-- gh-comment-id:2927617901 --> @MohammedNoureldin commented on GitHub (Jun 1, 2025): It is not an issue, we are missing the official Helm, while I am currently using my self-written chart. FYI @nazarewk
Author
Owner

@richevanscybermyte commented on GitHub (Jun 4, 2025):

More of a feature request and not an issue but regardless, it is a need.

<!-- gh-comment-id:2942381855 --> @richevanscybermyte commented on GitHub (Jun 4, 2025): More of a feature request and not an issue but regardless, it is a need.
Author
Owner

@hobbit44 commented on GitHub (Jun 9, 2025):

Can agree this is a need. Im surprised you went about creating an operator before even creating a chart to host the server

Edit: Although i have just spotted this, which i will be investigating.

<!-- gh-comment-id:2957280017 --> @hobbit44 commented on GitHub (Jun 9, 2025): Can agree this is a need. Im surprised you went about creating an [operator](https://github.com/netbirdio/kubernetes-operator) before even creating a chart to host the server Edit: Although i have just spotted [this](https://github.com/netbirdio/helms/tree/main/charts/netbird), which i will be investigating.
Author
Owner

@mlsmaycon commented on GitHub (Jun 10, 2025):

The chart is available and it was donated by the community. If you have any feedback, please join our slack workspace here or open an issue in the chart repository directly.

<!-- gh-comment-id:2959433456 --> @mlsmaycon commented on GitHub (Jun 10, 2025): The chart is available and it was donated by the community. If you have any feedback, please join our slack workspace [here](https://docs.netbird.io/slack-url) or open an issue in the chart repository directly.
Author
Owner

@KlavsKlavsen commented on GitHub (Jun 10, 2025):

@mlsmaycon Sounds great. Where can I find it? I can't see it in general readme in this repo under installation methods?

<!-- gh-comment-id:2959475696 --> @KlavsKlavsen commented on GitHub (Jun 10, 2025): @mlsmaycon Sounds great. Where can I find it? I can't see it in general readme in this repo under installation methods?
Author
Owner

@richevanscybermyte commented on GitHub (Jun 10, 2025):

It looks like this chart (https://github.com/netbirdio/kubernetes-operator) is for the agent, I was expecting the manager and UI. Unless I am missing something.

<!-- gh-comment-id:2960285033 --> @richevanscybermyte commented on GitHub (Jun 10, 2025): It looks like this chart (https://github.com/netbirdio/kubernetes-operator) is for the agent, I was expecting the manager and UI. Unless I am missing something.
Author
Owner

@antoniolago commented on GitHub (Jun 10, 2025):

Isn't this one? https://github.com/netbirdio/helms

<!-- gh-comment-id:2960733274 --> @antoniolago commented on GitHub (Jun 10, 2025): Isn't this one? https://github.com/netbirdio/helms
Author
Owner

@richevanscybermyte commented on GitHub (Jun 10, 2025):

Yes, you are right, I was looking at the operator that was posted earlier. Thank you!

<!-- gh-comment-id:2960737382 --> @richevanscybermyte commented on GitHub (Jun 10, 2025): Yes, you are right, I was looking at the operator that was posted earlier. Thank you!
Author
Owner

@ashish1099 commented on GitHub (Jun 25, 2025):

what chart are we using for coturn ?

<!-- gh-comment-id:3006509108 --> @ashish1099 commented on GitHub (Jun 25, 2025): what chart are we using for coturn ?
Author
Owner

@MohammedNoureldin commented on GitHub (Oct 28, 2025):

@ashish1099 checking the source code of the Chart shows that the default TURN server is a netbird-built TURN server. You still can use your external self-hosted COTURN.

<!-- gh-comment-id:3455268574 --> @MohammedNoureldin commented on GitHub (Oct 28, 2025): @ashish1099 checking the source code of the Chart shows that the default TURN server is a netbird-built TURN server. You still can use your external self-hosted COTURN.
Author
Owner

@cclloyd commented on GitHub (Nov 28, 2025):

I also happened to write a helm chart (the existing one didn't fit all the needs of my cluster). Feel free to steal anything from it https://github.com/cclloyd/helm-netbird

<!-- gh-comment-id:3590556831 --> @cclloyd commented on GitHub (Nov 28, 2025): I also happened to write a helm chart (the existing one didn't fit all the needs of my cluster). Feel free to steal anything from it https://github.com/cclloyd/helm-netbird
Author
Owner

@ashish1099 commented on GitHub (Dec 12, 2025):

@MohammedNoureldin I couldn't found anything where it says netbird-built TURN server setup, in the compose file too I saw its running coturn only.

I have working here kubeaid netbird

<!-- gh-comment-id:3645082369 --> @ashish1099 commented on GitHub (Dec 12, 2025): @MohammedNoureldin I couldn't found anything where it says netbird-built TURN server setup, in the compose file too I saw its running coturn only. I have working here [kubeaid netbird](https://github.com/Obmondo/KubeAid/tree/master/argocd-helm-charts/netbird)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#1273