[PR #1005] [MERGED] Add getting started script with Zitadel #13215

Closed
opened 2026-08-05 02:07:47 -04:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/1005
Author: @mlsmaycon
Created: 7/7/2023
Status: Merged
Merged: 8/3/2023
Merged by: @mlsmaycon

Base: mainHead: update-getting-started-flow


📝 Commits (10+)

  • 5883e01 update readme
  • 4b47f6b Merge branch 'main' into update-getting-started-flow
  • eeb1b61 Automate Zitadel IDP configuration (#1006)
  • ee89097 update texts and expose errors to stderr
  • b70339d use check_jq
  • 144ac86 create empty files
  • 5b57a81 read domain, fix logout url and refresh signing keys
  • 14ed0a6 NETBIRD_DOMAIN=use-ip
  • b6c2157 output messages properly
  • 9f943a8 output messages properly

📊 Changes

6 files changed (+788 additions, -126 deletions)

View changed files

📝 .github/workflows/release.yml (+10 -0)
📝 .github/workflows/test-infrastructure-files.yml (+31 -3)
📝 .goreleaser.yaml (+10 -0)
📝 README.md (+1 -1)
infrastructure_files/getting-started-with-zitadel.sh (+736 -0)
infrastructure_files/zitadel.sh (+0 -122)

📄 Description

Describe your changes

Add a getting started script that configures a self-hosted version of NetBird with Zitadel as IDP for user management.

Besides the infrastructure requirements of, with this script a user only need to supply a domain name and execute the script to configure all containers and the IDP.

It will launch a new instance of Zitadel, add a project, and two applications for Dashboard and CLI authentications.

It will create a admin user with a temporary password and display it to the user at the end of execution.

Besides that, the tests for infrastructure files will run only on changes or when merged to main. The same goes for release changes.

To run the scripts you need:

Infrastructure requirements:

  • A VM with at least 1CPU and 2GB of memory.
  • The VM should be publicly accessible on TCP ports 80 and 443 and UDP ports: 3478, 49152-65535.
  • Public domain name pointing to the VM.

Software requirements:

  • Docker installed on the VM with the Docker compose plugin (Docker installation guide) or docker with docker-compose in the version 2+
  • jq installed.
    Usually available in the official repositories and can be installed with sudo apt install jq or sudo yum install jq
  • curl installed.
    Usually available in the official repositories and can be installed with sudo apt install curl or sudo yum install curl

Steps

  • Download and run the installation script:
export NETBIRD_DOMAIN=netbird.example.com; curl -sSLO https://raw.githubusercontent.com/netbirdio/netbird/update-getting-started-flow/infrastructure_files/getting-started-with-zitadel.sh | bash
  • Once finished, you can manage the resources via docker-compose

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)
  • Extended the README / documentation, if necessary

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/netbirdio/netbird/pull/1005 **Author:** [@mlsmaycon](https://github.com/mlsmaycon) **Created:** 7/7/2023 **Status:** ✅ Merged **Merged:** 8/3/2023 **Merged by:** [@mlsmaycon](https://github.com/mlsmaycon) **Base:** `main` ← **Head:** `update-getting-started-flow` --- ### 📝 Commits (10+) - [`5883e01`](https://github.com/netbirdio/netbird/commit/5883e019c945c99249893116679e27cbbc50956a) update readme - [`4b47f6b`](https://github.com/netbirdio/netbird/commit/4b47f6b23c67e67ff3689b386c3d434f85d81583) Merge branch 'main' into update-getting-started-flow - [`eeb1b61`](https://github.com/netbirdio/netbird/commit/eeb1b619b71b580c6aa67caa14f3f39631fd42f0) Automate Zitadel IDP configuration (#1006) - [`ee89097`](https://github.com/netbirdio/netbird/commit/ee890971a33647bc97c2db0a638506b3b6674b86) update texts and expose errors to stderr - [`b70339d`](https://github.com/netbirdio/netbird/commit/b70339d3bd08a2eb67120542e310fb3db955e0b1) use check_jq - [`144ac86`](https://github.com/netbirdio/netbird/commit/144ac868e0a9d769479672e80479b1e98d0f85dd) create empty files - [`5b57a81`](https://github.com/netbirdio/netbird/commit/5b57a81ac4161c2e3ad173dbcaf57209314b57bc) read domain, fix logout url and refresh signing keys - [`14ed0a6`](https://github.com/netbirdio/netbird/commit/14ed0a6513b0148a95b0770fa096e426161d1695) NETBIRD_DOMAIN=use-ip - [`b6c2157`](https://github.com/netbirdio/netbird/commit/b6c2157308344e5673419f8520d26242aa1a13f5) output messages properly - [`9f943a8`](https://github.com/netbirdio/netbird/commit/9f943a8f48314015bc431275c91f8d7d47663ccc) output messages properly ### 📊 Changes **6 files changed** (+788 additions, -126 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/release.yml` (+10 -0) 📝 `.github/workflows/test-infrastructure-files.yml` (+31 -3) 📝 `.goreleaser.yaml` (+10 -0) 📝 `README.md` (+1 -1) ➕ `infrastructure_files/getting-started-with-zitadel.sh` (+736 -0) ➖ `infrastructure_files/zitadel.sh` (+0 -122) </details> ### 📄 Description ## Describe your changes Add a getting started script that configures a self-hosted version of NetBird with Zitadel as IDP for user management. Besides the infrastructure requirements of, with this script a user only need to supply a domain name and execute the script to configure all containers and the IDP. It will launch a new instance of Zitadel, add a project, and two applications for Dashboard and CLI authentications. It will create a admin user with a temporary password and display it to the user at the end of execution. Besides that, the tests for infrastructure files will run only on changes or when merged to main. The same goes for release changes. To run the scripts you need: **Infrastructure requirements:** - A VM with at least **1CPU** and **2GB** of memory. - The VM should be publicly accessible on TCP ports **80 and 443** and UDP ports: **3478, 49152-65535**. - **Public domain** name pointing to the VM. **Software requirements:** - Docker installed on the VM with the Docker compose plugin ([Docker installation guide](https://docs.docker.com/engine/install/)) or docker with docker-compose in the version 2+ - [jq](https://jqlang.github.io/jq/) installed. Usually available in the official repositories and can be installed with `sudo apt install jq` or `sudo yum install jq` - [curl](https://curl.se/) installed. Usually available in the official repositories and can be installed with `sudo apt install curl` or `sudo yum install curl` **Steps** - Download and run the installation script: ```bash export NETBIRD_DOMAIN=netbird.example.com; curl -sSLO https://raw.githubusercontent.com/netbirdio/netbird/update-getting-started-flow/infrastructure_files/getting-started-with-zitadel.sh | bash ``` - Once finished, you can manage the resources via `docker-compose` ## Issue ticket number and link ### Checklist - [ ] Is it a bug fix - [ ] Is a typo/documentation fix - [x] Is a feature enhancement - [ ] It is a refactor - [x] Created tests that fail without the change (if possible) - [x] Extended the README / documentation, if necessary --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
saavagebueno added the pull-request label 2026-08-05 02:07:47 -04:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#13215