dec0dOS / zero-ui

ZeroUI - ZeroTier Controller Web UI - is a web user interface for a self-hosted ZeroTier network controller.
GNU General Public License v3.0
898 stars 142 forks source link

feat: ZeroTier Central migration #24

Open jakoberpf opened 2 years ago

jakoberpf commented 2 years ago

Feature Request

Describe the Feature Request When migrating from the hosted zerotier controller, it would be nice be able to add the already existing networks to the selfhosted controller.

Describe Preferred Solution To my knowledge of how zerotier works, i thought this would be possible by just joining the selfhosted controller to the zerotier network. This could be then done by either the cli in the pod or the UI. But so far i didn't manage to get the UI to show the network if the controller is joined. Or maybe my thinking process is flaud.

Does anyone have any experience with migrating from the hosted zerotier controller?

If the feature request is approved, would you be willing to submit a PR? Yes

dec0dOS commented 2 years ago

Hello, @jakoberpf! I've been thinking for a while about the ZeroTier Central migration but do not have some time to implement it properly. The best way is to implement it on the frontend side, the code just has to get the parameters from the ZeroTier Central network via API and create the same networks with the same configuration on the ZeroUI side.
That may be the problem with CORS, so it may require some additional headers setup from the backend. If you could help with implementing this feature, that would be awesome!

jakoberpf commented 2 years ago

Hey @dec0dOS,

alright so that means we cannot reuse the already created networks form my.zerotier in the self hosted controller but would have to recreate them? That would make it necessary to join all members again in the recreated networks. I could imagine adding the members on the controller by their IDs and assigning the same IPs. Didn't try this route yet, but would you image this to be the migration process.

dec0dOS commented 2 years ago

Hey, @jakoberpf,

Yes, your assumptions are correct. There is no way to fully automate migration from ZeroTier Central because we do not have the controller private key, that is used in ZeroTier Central. The full migration could be possible without rejoining the network on the client-side only from ztncui or any other self-hosted solution.

JamesTX10 commented 2 years ago

The full migration could be possible without rejoining the network on the client-side only from ztncui or any other self-hosted solution.

I am using ztncui currently. Is there a way to migrate those networks over to Zero-ui?

jakoberpf commented 2 years ago

@JamesTX10 @dec0dOS Sorry, didn't really got to his yet. I am still on the my.zerotier controller and still planning to make this migration functionality...

dec0dOS commented 2 years ago

Migrating to the self-hosted solution is really painful, as it requires client-side reconfiguration. Even as a zero-ui maintainer, I am currently using the ZeroTier Central for some networks.

Zeitkind commented 1 year ago

Is there a way to migrate from my ztncui? I don't need all those fancy enterprise features, so I'd like to migrate my last bunch of networks and clients to a private server. I have a ztncui running for years, but development seemed to have stopped. I still have about 40 clients on zerotier.com and about another 40 on my ztncui. Every time they changed their license and reduced the free members, I created new networks on my ztncui and re-added all manually. Those 40 remaining are a pita to renew, so I'd really like to migrate them without much problems. Any ideas?

dec0dOS commented 1 year ago

@Zeitkind check the following discussion about the ztncui migration. https://github.com/dec0dOS/zero-ui/discussions/3

You could use your old zerotier controller key, so you don't have to manually reconfigure the clients.

Zeitkind commented 1 year ago

Will read it. Not sure yet, I don't really like nor use docker, I prefer a plain old repository or snap, but prob. try it on a VM host, hmmm.. Any ideas how to migrate from zerotier.com? Almost all clients are private and non commercial, so i don't really need any of those new fancy features, but there are a lot - and a lot of people that have no idea how to set up a new connection.. ^^ My goal is to completely go away from zerotier.com. I like their software, but tbh not their politics and total lack of communication.

dec0dOS commented 1 year ago

@Zeitkind, No, it is not possible to migrate from ZeroTier Central without rejoin on client side as ZeroTier Central controller private keys are unknown https://github.com/dec0dOS/zero-ui/issues/24#issuecomment-944274854

Zeitkind commented 1 year ago

Hmm.. ok, then I have to do it the hard way. sigh.