[GH-ISSUE #5322] Migration guide from separate services to combined netbird-server #10982

Closed
opened 2026-08-05 01:27:57 -04:00 by saavagebueno · 35 comments
Owner

Originally created by @SuperKali on GitHub (Feb 14, 2026).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/5322

Problem

I currently have a NetBird deployment with separate services:

  • netbird-management
  • netbird-signal
  • netbird-relay
  • netbird-coturn

I want to migrate to the combined netbird-server container for simpler management, but there's no migration guide available.

Why migrate to combined server

  • Simpler deployment and maintenance
  • Fewer containers to manage
  • Better alignment with official documentation
  • Easier upgrades

What's needed

A migration guide covering:

  1. Data backup: What data needs to be preserved (users, peers, configurations, keys)
  2. Configuration migration: How to convert separate management.json, signal.json, etc. into combined server config
  3. Database migration: How to migrate existing data to the new setup
  4. External IdP: How to maintain Zitadel/Keycloak/Auth0 integration
  5. Downtime strategy: Zero-downtime migration steps if possible
  6. Rollback procedure: How to revert if something goes wrong

Current environment

  • Deployment: Docker Compose with separate containers
  • External IdP: Zitadel
  • Reverse proxy: Traefik
  • Data: Active users and peers that must be preserved

Expected outcome

Successfully migrate to netbird-server without losing:

  • User accounts and permissions
  • Peer connections and configurations
  • Network policies and routes
  • Authentication integration

This would help users who started with separate services and want to simplify their deployment.

Originally created by @SuperKali on GitHub (Feb 14, 2026). Original GitHub issue: https://github.com/netbirdio/netbird/issues/5322 ### Problem I currently have a NetBird deployment with **separate services**: - `netbird-management` - `netbird-signal` - `netbird-relay` - `netbird-coturn` I want to **migrate to the combined `netbird-server`** container for simpler management, but there's no migration guide available. ### Why migrate to combined server - Simpler deployment and maintenance - Fewer containers to manage - Better alignment with official documentation - Easier upgrades ### What's needed A migration guide covering: 1. **Data backup**: What data needs to be preserved (users, peers, configurations, keys) 2. **Configuration migration**: How to convert separate `management.json`, `signal.json`, etc. into combined server config 3. **Database migration**: How to migrate existing data to the new setup 4. **External IdP**: How to maintain Zitadel/Keycloak/Auth0 integration 5. **Downtime strategy**: Zero-downtime migration steps if possible 6. **Rollback procedure**: How to revert if something goes wrong ### Current environment - Deployment: Docker Compose with separate containers - External IdP: Zitadel - Reverse proxy: Traefik - Data: Active users and peers that must be preserved ### Expected outcome Successfully migrate to `netbird-server` without losing: - User accounts and permissions - Peer connections and configurations - Network policies and routes - Authentication integration This would help users who started with separate services and want to simplify their deployment.
Author
Owner

@derlaft commented on GitHub (Feb 14, 2026):

Hi,

I've also encountered an issue migrating as it. Currently, the guide says:

The proxy authenticates with the management server using an access token. Generate one using the management CLI:

docker exec -it netbird-server netbird-mgmt token create --name "my-proxy"

However, since I have a separate container deployment, netbird-server container is not present, and the command fails.

<!-- gh-comment-id:3902391929 --> @derlaft commented on GitHub (Feb 14, 2026): Hi, I've also encountered an issue migrating as it. Currently, the guide says: > The proxy authenticates with the management server using an access token. Generate one using the management CLI: > docker exec -it netbird-server netbird-mgmt token create --name "my-proxy" However, since I have a separate container deployment, `netbird-server` container is not present, and the command fails.
Author
Owner

@derlaft commented on GitHub (Feb 14, 2026):

Ok, It looks like it's supposed to be docker exec -it netbird-management /go/bin/netbird-mgmt token create --name "my-proxy":

  • container is netbird-management
  • netbird-mgmt is not in PATH
<!-- gh-comment-id:3902402450 --> @derlaft commented on GitHub (Feb 14, 2026): Ok, It looks like it's supposed to be `docker exec -it netbird-management /go/bin/netbird-mgmt token create --name "my-proxy"`: * container is `netbird-management` * `netbird-mgmt` is not in `PATH`
Author
Owner

@da-wilky commented on GitHub (Feb 15, 2026):

I would also love to see a migration guide from the multiple services approach to the simplified new server container!

<!-- gh-comment-id:3904925232 --> @da-wilky commented on GitHub (Feb 15, 2026): I would also love to see a migration guide from the multiple services approach to the simplified new server container!
Author
Owner

@da-wilky commented on GitHub (Feb 15, 2026):

And I somehow cant get the proxy part to work with my multi-service setup. Does anyone else has success with that?
My proxy container logs nothing and within the Dashboard I cannot add anything, because of the missing proxy cluster. I set the extra_host for my dashboard domain to the IP of the management service.

<!-- gh-comment-id:3904946113 --> @da-wilky commented on GitHub (Feb 15, 2026): And I somehow cant get the proxy part to work with my multi-service setup. Does anyone else has success with that? My proxy container logs nothing and within the Dashboard I cannot add anything, because of the missing proxy cluster. I set the extra_host for my dashboard domain to the IP of the management service.
Author
Owner

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

And I somehow cant get the proxy part to work with my multi-service setup. Does anyone else has success with that?

It might be this issue: https://github.com/netbirdio/netbird/issues/5326

What the documentation is also kinda missing:

  • You need a working traefik
  • This traefik should actually forward grpc requests to proxy service (https://github.com/netbirdio/netbird/issues/5326)
  • proxy service should point to traefik, not to the management because it currently requres SSL (didn't find an option to disable it)

After all this I got it only partially working:

  • Creation of custom domains and proxies works
  • GUI still reports proxy agent as down
  • proxy reports connection timeout issues via gRPC. probably, the idle timeout for a connection is way too low (a minute by default, in the previous recommended nginx config it was set to 1 day) + there are no keepalives configured in the connection itself
<!-- gh-comment-id:3904957598 --> @derlaft commented on GitHub (Feb 15, 2026): > And I somehow cant get the proxy part to work with my multi-service setup. Does anyone else has success with that? It might be this issue: https://github.com/netbirdio/netbird/issues/5326 What the documentation is also kinda missing: * You need a working traefik * This traefik should actually forward grpc requests to proxy service (https://github.com/netbirdio/netbird/issues/5326) * proxy service should point to **traefik**, not to the management because it currently requres SSL (didn't find an option to disable it) After all this I got it only partially working: * Creation of custom domains and proxies works * GUI still reports proxy agent as down * proxy reports connection timeout issues via gRPC. probably, the idle timeout for a connection is way too low (a minute by default, in the previous recommended nginx config it was set to 1 day) + there are no keepalives configured in the connection itself
Author
Owner

@da-wilky commented on GitHub (Feb 15, 2026):

Thanks for the advice! It actually was the additional path I needed to add.
I wont ever go back to traefik from caddy - the UX is so much better for me. I got it working now with caddy instead.

If anyone wants to do that too - I use the caddy-l4 plugin (https://github.com/mholt/caddy-l4) and had a firefox bug solved by this issue (https://github.com/mholt/caddy-l4/issues/257).

<!-- gh-comment-id:3905251876 --> @da-wilky commented on GitHub (Feb 15, 2026): Thanks for the advice! It actually was the additional path I needed to add. I wont ever go back to traefik from caddy - the UX is so much better for me. I got it working now with caddy instead. If anyone wants to do that too - I use the caddy-l4 plugin (https://github.com/mholt/caddy-l4) and had a firefox bug solved by this issue (https://github.com/mholt/caddy-l4/issues/257).
Author
Owner

@quietPL83 commented on GitHub (Feb 16, 2026):

I am also interested in a migration guide to netbird-server.

<!-- gh-comment-id:3907463304 --> @quietPL83 commented on GitHub (Feb 16, 2026): I am also interested in a migration guide to netbird-server.
Author
Owner

@shaban00 commented on GitHub (Feb 16, 2026):

@da-wilky Can you share you current working caddy that has support for the Reverse proxy. The documentation says only traefik is supported now. I feel reluctant moving from Caddy to Traefik just because of this

<!-- gh-comment-id:3912072161 --> @shaban00 commented on GitHub (Feb 16, 2026): @da-wilky Can you share you current working caddy that has support for the `Reverse proxy`. The documentation says only `traefik` is supported now. I feel reluctant moving from `Caddy` to `Traefik` just because of this
Author
Owner

@da-wilky commented on GitHub (Feb 17, 2026):

@shaban00 Ofc, I added it inside an own issue: #5359
Please be aware that this is not considered production ready. It uses a caddy plugin that is still in development. For me thats fine and I did not encounter any issues yet. Please let me know if you have problems setting it up or if this guide was successfull for you. Also if you encounter any issues running that setup feel free to share :)

<!-- gh-comment-id:3913007912 --> @da-wilky commented on GitHub (Feb 17, 2026): @shaban00 Ofc, I added it inside an own issue: #5359 Please be aware that this is not considered production ready. It uses a caddy plugin that is still in development. For me thats fine and I did not encounter any issues yet. Please let me know if you have problems setting it up or if this guide was successfull for you. Also if you encounter any issues running that setup feel free to share :)
Author
Owner

@pernetz commented on GitHub (Feb 17, 2026):

Yeah, this migration guide would be great! I have tried to change over from single services to netbird-server manually, using the migration guides from Netbird docs as support. I failed miserably three times in a row and had to rollback my server. lol
Upvote +1 👍

<!-- gh-comment-id:3916734847 --> @pernetz commented on GitHub (Feb 17, 2026): Yeah, this migration guide would be great! I have tried to change over from single services to netbird-server manually, using the migration guides from Netbird docs as support. I failed miserably three times in a row and had to rollback my server. *lol* Upvote +1 👍
Author
Owner

@SuperKali commented on GitHub (Feb 20, 2026):

This PR #5350 not resolve at all our issue, we used in past the first script to install netbird on our self hosted instances, with default Zitadel, How can we migrate this without losing anything?

<!-- gh-comment-id:3932093674 --> @SuperKali commented on GitHub (Feb 20, 2026): This PR #5350 not resolve at all our issue, we used in past the first script to install netbird on our self hosted instances, with default Zitadel, How can we migrate this without losing anything?
Author
Owner

@undes1red commented on GitHub (Feb 20, 2026):

@SuperKali The netbird team says they are developing a migration tool to make Zitadel an extenal IdP provider, which is needed before we migrate from the old multi-instance setup to the combined one. But they also state "Please contact us at if you are interested in this feature." Issue #5334 asks when this tool will be ready but for now no response from the team.

<!-- gh-comment-id:3932127226 --> @undes1red commented on GitHub (Feb 20, 2026): @SuperKali The netbird team says they are developing a migration tool to make Zitadel an extenal IdP provider, which is needed before we migrate from the old multi-instance setup to the combined one. But they also state "Please contact us at if you are interested in this feature." Issue #5334 asks when this tool will be ready but for now no response from the team.
Author
Owner

@da-wilky commented on GitHub (Feb 20, 2026):

The new v0.65.3 has a migrate.sh migration script, that should migrate from the multi-service approach to the netbird-server approach. https://github.com/netbirdio/netbird/pull/5350
I haven't tried yet, someone could confirm if this works. I am currently missing the external IdP Setup for me to migrate.

Supported: Embedded IdP (Dex) setups with embedded Caddy or custom reverse proxy.
Not supported: External IdP (Auth0, Keycloak, etc.) — use getting-started.sh for fresh setup.

<!-- gh-comment-id:3932658989 --> @da-wilky commented on GitHub (Feb 20, 2026): The new v0.65.3 has a `migrate.sh` migration script, that should migrate from the multi-service approach to the netbird-server approach. https://github.com/netbirdio/netbird/pull/5350 I haven't tried yet, someone could confirm if this works. I am currently missing the external IdP Setup for me to migrate. > Supported: Embedded IdP (Dex) setups with embedded Caddy or custom reverse proxy. > Not supported: External IdP (Auth0, Keycloak, etc.) — use getting-started.sh for fresh setup.
Author
Owner

@gelomon commented on GitHub (Mar 10, 2026):

The new v0.65.3 has a migrate.sh migration script, that should migrate from the multi-service approach to the netbird-server approach. #5350 I haven't tried yet, someone could confirm if this works. I am currently missing the external IdP Setup for me to migrate.

Supported: Embedded IdP (Dex) setups with embedded Caddy or custom reverse proxy.
Not supported: External IdP (Auth0, Keycloak, etc.) — use getting-started.sh for fresh setup.

I really hope there will be a guide in the future, but I'm already on the edge since docs specify that:
"If you are using an external IdP, do not run this script. Instead, follow the [self-hosting quickstart] for a fresh installation."

<!-- gh-comment-id:4029975157 --> @gelomon commented on GitHub (Mar 10, 2026): > The new v0.65.3 has a `migrate.sh` migration script, that should migrate from the multi-service approach to the netbird-server approach. [#5350](https://github.com/netbirdio/netbird/pull/5350) I haven't tried yet, someone could confirm if this works. I am currently missing the external IdP Setup for me to migrate. > > > Supported: Embedded IdP (Dex) setups with embedded Caddy or custom reverse proxy. > > Not supported: External IdP (Auth0, Keycloak, etc.) — use getting-started.sh for fresh setup. I really hope there will be a guide in the future, but I'm already on the edge since docs specify that: _"If you are using an external IdP, do not run this script. Instead, follow the [self-hosting quickstart] for a fresh installation."_
Author
Owner

@JimmyKmi commented on GitHub (Mar 10, 2026):

Migrated today and hit the same problem. I even tried configuring it manually.

Environment

  • Separate containers → combined netbird-server
  • External IdP: Zitadel
  • NetBird: 0.66.3

Problem
Login fails with 401. Logs show JWT validation error:
getPublicKey error: unable to find appropriate key

Root cause (surmise from my openclaw)
Combined server forces embedded Dex to start, which conflicts with External IdP:

  • Zitadel issues JWT tokens
  • Embedded Dex tries to validate with wrong keys
  • Result: 401 Unauthorized

Request: Would appreciate official guidance on migrating with External IdP, or support for disabling embedded Dex in combined setup. Happy to help test any solutions. Thanks for the great work on NetBird!

<!-- gh-comment-id:4033665431 --> @JimmyKmi commented on GitHub (Mar 10, 2026): Migrated today and hit the same problem. I even tried configuring it manually. **Environment** - Separate containers → combined netbird-server - External IdP: Zitadel - NetBird: 0.66.3 **Problem** Login fails with 401. Logs show JWT validation error: `getPublicKey error: unable to find appropriate key` **Root cause (surmise from my openclaw)** Combined server forces embedded Dex to start, which conflicts with External IdP: - Zitadel issues JWT tokens - Embedded Dex tries to validate with wrong keys - Result: 401 Unauthorized **Request**: Would appreciate official guidance on migrating with External IdP, or support for disabling embedded Dex in combined setup. Happy to help test any solutions. Thanks for the great work on NetBird!
Author
Owner

@pernetz commented on GitHub (Mar 20, 2026):

It looks as the migration tool with instruction is incoming. Be patient!
Check this out: https://github.com/netbirdio/netbird/pull/5586

<!-- gh-comment-id:4099315937 --> @pernetz commented on GitHub (Mar 20, 2026): It looks as the migration tool with instruction is incoming. Be patient! Check this out: [https://github.com/netbirdio/netbird/pull/5586](https://github.com/netbirdio/netbird/pull/5586)
Author
Owner

@ddowbnac commented on GitHub (Apr 1, 2026):

Good news! merged to main #5586

<!-- gh-comment-id:4169865488 --> @ddowbnac commented on GitHub (Apr 1, 2026): Good news! merged to main #5586
Author
Owner

@gelomon commented on GitHub (Apr 1, 2026):

Good news! merged to main #5586

Nicee!

<!-- gh-comment-id:4169899274 --> @gelomon commented on GitHub (Apr 1, 2026): > Good news! merged to main [#5586](https://github.com/netbirdio/netbird/pull/5586) Nicee!
Author
Owner

@missingfile commented on GitHub (Apr 1, 2026):

for whatever reason the migration guide didn't get merged -- 1775067a15

<!-- gh-comment-id:4174312066 --> @missingfile commented on GitHub (Apr 1, 2026): for whatever reason the migration guide didn't get merged -- https://github.com/netbirdio/netbird/pull/5586/changes/1775067a15551d41af3b53c539c499f89ff3c4ac
Author
Owner

@WithdewHua commented on GitHub (Apr 2, 2026):

already migrated. Great work!

<!-- gh-comment-id:4174926477 --> @WithdewHua commented on GitHub (Apr 2, 2026): already migrated. Great work!
Author
Owner

@SuperKali commented on GitHub (Apr 2, 2026):

Someone can explain easily how?

<!-- gh-comment-id:4175287177 --> @SuperKali commented on GitHub (Apr 2, 2026): Someone can explain easily how?
Author
Owner

@undes1red commented on GitHub (Apr 2, 2026):

I followed tutorial here. The migration succeed, but I faced the "Errors.App.NotFound" issue when login via zitadel. I have set AUTH_AUTHORITY=https://<your-domain>/oauth2 and restarted the dashboard so I don't know why.

<!-- gh-comment-id:4178491911 --> @undes1red commented on GitHub (Apr 2, 2026): I followed tutorial [here](https://docs.netbird.io/selfhosted/migration/external-to-embedded-idp). The migration succeed, but I faced the "Errors.App.NotFound" issue when login via zitadel. I have set `AUTH_AUTHORITY=https://<your-domain>/oauth2` and restarted the dashboard so I don't know why.
Author
Owner

@ramphex commented on GitHub (Apr 3, 2026):

Has anyone merged successfully while still keeping the external IdP for current and future users? I don't want to migrate from the external to internal, I want to migrate to the new combined setup while keeping the external IdP.

<!-- gh-comment-id:4186148606 --> @ramphex commented on GitHub (Apr 3, 2026): Has anyone merged successfully while still keeping the external IdP for current and future users? I don't want to migrate from the external to internal, I want to migrate to the new combined setup while keeping the external IdP.
Author
Owner

@WithdewHua commented on GitHub (Apr 4, 2026):

Has anyone merged successfully while still keeping the external IdP for current and future users? I don't want to migrate from the external to internal, I want to migrate to the new combined setup while keeping the external IdP.

Yes, I have migrated successfully, and the external IdP works well.

<!-- gh-comment-id:4186304132 --> @WithdewHua commented on GitHub (Apr 4, 2026): > Has anyone merged successfully while still keeping the external IdP for current and future users? I don't want to migrate from the external to internal, I want to migrate to the new combined setup while keeping the external IdP. Yes, I have migrated successfully, and the external IdP works well.
Author
Owner

@undes1red commented on GitHub (Apr 4, 2026):

Has anyone merged successfully while still keeping the external IdP for current and future users? I don't want to migrate from the external to internal, I want to migrate to the new combined setup while keeping the external IdP.

Yes, I have migrated successfully, and the external IdP works well.

Hello @WithdewHua, when you login via zitadel after migration, where does the dashboard redirect to, https://<your domain>/oauth/v2 or https://<your domain>/oauth2? Do you use the client ID and client secret in the management.json during migration?

<!-- gh-comment-id:4186333860 --> @undes1red commented on GitHub (Apr 4, 2026): > > Has anyone merged successfully while still keeping the external IdP for current and future users? I don't want to migrate from the external to internal, I want to migrate to the new combined setup while keeping the external IdP. > > Yes, I have migrated successfully, and the external IdP works well. Hello @WithdewHua, when you login via zitadel after migration, where does the dashboard redirect to, `https://<your domain>/oauth/v2` or `https://<your domain>/oauth2`? Do you use the client ID and client secret in the `management.json` during migration?
Author
Owner

@WithdewHua commented on GitHub (Apr 4, 2026):

Has anyone merged successfully while still keeping the external IdP for current and future users? I don't want to migrate from the external to internal, I want to migrate to the new combined setup while keeping the external IdP.

Yes, I have migrated successfully, and the external IdP works well.

Hello @WithdewHua, when you login via zitadel after migration, where does the dashboard redirect to, https://<your domain>/oauth/v2 or https://<your domain>/oauth2? Do you use the client ID and client secret in the management.json during migration?

@undes1red oauth2, and redirect to the zitadel url. I created new clientID and client secret according to the tutorial.

<!-- gh-comment-id:4186866830 --> @WithdewHua commented on GitHub (Apr 4, 2026): > > > Has anyone merged successfully while still keeping the external IdP for current and future users? I don't want to migrate from the external to internal, I want to migrate to the new combined setup while keeping the external IdP. > > > > > > Yes, I have migrated successfully, and the external IdP works well. > > Hello [@WithdewHua](https://github.com/WithdewHua), when you login via zitadel after migration, where does the dashboard redirect to, `https://<your domain>/oauth/v2` or `https://<your domain>/oauth2`? Do you use the client ID and client secret in the `management.json` during migration? @undes1red oauth2, and redirect to the zitadel url. I created new clientID and client secret according to the tutorial.
Author
Owner

@undes1red commented on GitHub (Apr 4, 2026):

Thank you @WithdewHua. I have migrated to internal IdP. Have you migrated to the combined netbird-server? I try the script but the new compose file does not contain Zitadel. Readding them into the new docker compose file doesn't work and the dashboard reports Connector failed to initialize.

Update: I chose to migrate my accounts from Zitadel to embedded authentication server to completely get rid of Zitadel, then use migrate.sh to the combined netbird server. It seems that if you remove the Zitadel server, netbird will replace the old admin in Zitadel with a new one in the embedded authentication server. I can not affirm this because the new admin magically appeared when I randomly removed and readded the Zitadel server in the Identity Provider page. However, I can not log into the new admin. There is a new .env file storing the account and password supposed for the new admin, but they doesn't work. Anyway, my accounts for management still work and I never use the admin account, so it is not a big issue.

<!-- gh-comment-id:4186916992 --> @undes1red commented on GitHub (Apr 4, 2026): Thank you @WithdewHua. I have migrated to internal IdP. Have you migrated to the combined netbird-server? I try the script but the new compose file does not contain Zitadel. Readding them into the new docker compose file doesn't work and the dashboard reports `Connector failed to initialize`. Update: I chose to migrate my accounts from Zitadel to embedded authentication server to completely get rid of Zitadel, then use `migrate.sh` to the combined netbird server. It seems that if you remove the Zitadel server, netbird will replace the old `admin` in Zitadel with a new one in the embedded authentication server. I can not affirm this because the new `admin` magically appeared when I randomly removed and readded the Zitadel server in the `Identity Provider` page. However, I can not log into the new admin. There is a new `.env` file storing the account and password supposed for the new admin, but they doesn't work. Anyway, my accounts for management still work and I never use the `admin` account, so it is not a big issue.
Author
Owner

@ramphex commented on GitHub (Apr 4, 2026):

reporting back a successful migration from multi-container + Authentik --> hybrid with Dex --> single container with hybrid Dex + Authentik

<!-- gh-comment-id:4187613428 --> @ramphex commented on GitHub (Apr 4, 2026): reporting back a successful migration from multi-container + Authentik --> hybrid with Dex --> single container with hybrid Dex + Authentik
Author
Owner

@pernetz commented on GitHub (Apr 13, 2026):

Hi, I propose to close this issue since the migration guide is released.
Cheers guys!

<!-- gh-comment-id:4234986968 --> @pernetz commented on GitHub (Apr 13, 2026): Hi, I propose to close this issue since the migration guide is released. Cheers guys!
Author
Owner

@SuperKali commented on GitHub (Apr 13, 2026):

I've switched to a single container; I'll wait for Dex to implement two-factor authentication (2FA) and passkeys for authentication, and then I'll remove Zitadel altogether. Thanks!

<!-- gh-comment-id:4235272465 --> @SuperKali commented on GitHub (Apr 13, 2026): I've switched to a single container; I'll wait for Dex to implement two-factor authentication (2FA) and passkeys for authentication, and then I'll remove Zitadel altogether. Thanks!
Author
Owner

@pernetz commented on GitHub (Apr 13, 2026):

Not sure whether Dex is capable to do so or if this feature is in the pipeline of it.
I have not yet migrated over to the single container. How did you kept Zitadel running after migration?

<!-- gh-comment-id:4235330915 --> @pernetz commented on GitHub (Apr 13, 2026): Not sure whether Dex is capable to do so or if this feature is in the pipeline of it. I have not yet migrated over to the single container. How did you kept Zitadel running after migration?
Author
Owner

@SuperKali commented on GitHub (Apr 13, 2026):

How did you kept Zitadel running after migration?

I just added my exist Idp to netbird panel:

Image
<!-- gh-comment-id:4235709923 --> @SuperKali commented on GitHub (Apr 13, 2026): > How did you kept Zitadel running after migration? I just added my exist Idp to netbird panel: <img width="2270" height="389" alt="Image" src="https://github.com/user-attachments/assets/22de2922-e6b6-489b-b857-e2b5e0323a77" />
Author
Owner

@pernetz commented on GitHub (Apr 13, 2026):

Ok, that's clear. As Zitadel + database service are not part of the migration, did you set up a new compose file for it?

<!-- gh-comment-id:4235769583 --> @pernetz commented on GitHub (Apr 13, 2026): Ok, that's clear. As Zitadel + database service are not part of the migration, did you set up a new compose file for it?
Author
Owner

@SuperKali commented on GitHub (Apr 13, 2026):

Exactly, I had to do a bit of manual work, but I managed to do it in the end

<!-- gh-comment-id:4235803975 --> @SuperKali commented on GitHub (Apr 13, 2026): Exactly, I had to do a bit of manual work, but I managed to do it in the end
Author
Owner

@pernetz commented on GitHub (Apr 13, 2026):

Awesome, then I know what steps to go. Thanks 👍

<!-- gh-comment-id:4235883727 --> @pernetz commented on GitHub (Apr 13, 2026): Awesome, then I know what steps to go. Thanks 👍
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#10982