-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flux Domain Manager Docker Image #56
Comments
I was working on a simple dockerized FDM version. It does not have pdns or cloudflare requirements and only manages one flux app. You just point your domain to it and it does the rest. Will it be helpful for you? |
Yes it will. ---- On Sun, 04 Dec 2022 09:07:12 -0500 ***@***.*** wrote ----
I was working on a simple dockerized FDM version. It does not have pdns or cloudflare requirements and only manages one flux app. You just point your domain to it and it does the rest. Will it be helpful for you?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Cool, will let you know when it's ready. |
Awesome! Please also try to keep this issue in mind as well: |
Ok, for that you will need to use domain-based load balancing. will it work for you? |
Can you elaborate on this a bit more. ---- On Sun, 04 Dec 2022 09:33:38 -0500 ***@***.*** wrote ----
Ok, for that you will need to use domain-based load balancing. will it work for you?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: ***@***.***>
|
To clarify in order to get around issue 54: I would need to use a DNS server that support DNS based load balancing? Would it be compatible with the docker image? or would I need to create something that would automatically update the dns servers IP address as the servers change? |
You will need to add a dns record for each IP that is running your app and update them as servers change. I might add this feature to the image too. Will get your Cloudflare api key, zone ID, domain, etc... and keep the records updated. The only issue with this approach is DNS latency, depending on the networks it will take at least 60 seconds for changes to propagate. |
Got it. Would prefer to use PowerDNS. But understood. ---- On Sun, 04 Dec 2022 11:34:42 -0500 ***@***.*** wrote ----
You will need to add a dns record for each IP that is running your app and update them as servers change. I might add this feature to the image too. Will get your Cloudflare api key, zone ID, domain, etc... and keep the records updated. The only issue with this approach is DNS latency, depending on the networks it will take at least 60 seconds for changes to propagate.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: ***@***.***>
|
I wanted to confirm that this docker image you are making (if using the DNS update feature (and not the original self host feature) it would technically be able to be hosted on Flux, right? |
I think you will be able to host it on Flux, but I don't think it is what you want. If you host FDM, generally it's to bypass the current Flux FDM. If you host your own FDM on Flux, when you will do a request to your app, you will reach the Flux FDM before reaching your own FDM. There is the path of the request if you host FDM on Flux Client Goes To Your App => Flux FDM => Flux FDM forward to one of the three instance of your own FDM hosted on Flux => Your FDM => Your FDM forward to one of the three instance of your app => Your App If you host FDM on Flux, you actually add a useless layer. Normally you host FDM on a private server like a VPS or something like that and the request path should be something like this Client Goes to your App => Your FDM => Your FDM forward to one of the three instance of your app => Your App I don't see any benefits to host FDM on Flux. Maybe I'm wrong but I'm pretty sure that FDM is not intended to be hosted on Flux |
You're right. But in this case I'm talking about a "new feature" so to speak, that will cause FDM to act as a gateway to a DNS server and not a web load balancer. Technically the FDM would just be a "decentralized" dynamic DNS updater that makes calls to a DNS server to let that server know that a particular app has had its IP addresses list updated and removes the old IP(s) from the DNS server and adds the new ones via the DNS servers API.
Essentially going this route eliminates the need for two servers to be hosted outside of Flux (FDM and DNS) and only requires a person to host their own DNS (If they want too, they can also use Cloudflare)
The other benefit of this setup is that it allows for a seamless integration and load balancing for VPN servers and Game servers, which do not work behind a web load balancer.
You are right though in thinking that hosting a "traditional" instance of FDM would be recursive. ---- On Sun, 11 Dec 2022 09:59:54 -0500 ***@***.*** wrote ----
I wanted to confirm that this docker image you are making (if using the DNS update feature (and not the original self host feature) it would technically be able to be hosted on Flux, right?
I think you will be able to host it on Flux, but I don't think it is what you want. If you host FDM, generally it's to bypass the current Flux FDM. If you host your own FDM on Flux, when you will do a request to your app, you will reach the Flux FDM before reaching your own FDM.
There is the path of the request if you host FDM on Flux
Client Goes To Your App => Flux FDM => Flux FDM forward to one of the three instance of your own FDM hosted on Flux => Your FDM => Your FDM forward to one of the three instance of your app => Your App
If you host FDM on Flux, you actually add a useless layer. Normally you host FDM on a private server like a VPS or something like that and the request path should be something like this
Client Goes to your App => Your FDM => Your FDM forward to one of the three instance of your app => Your App
I don't see any benefits to host FDM on Flux.
Maybe I'm wrong but I'm pretty sure that FDM is not intended to be hosted on Flux
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: ***@***.***>
|
I see, but actually FDM doesn't work like that for now. Maybe it will in the future. |
Right, it seems to be something they are going to consider based on this comment: #56 (comment) They have plenty of reasons to implement this. Game servers not being load balanced currently is a big problem that needs to be fixed, while this feature also helps give a flux deployer greater control over how their Flux assets are served over the web. This feature would also make the ecosystem even more decentralized. |
You can find the dockerized mini FDM here: https://github.com/RunOnFlux/flux-mini-fdm |
@alihm this is great thank you. Could you point me to what parts I would update to use a different acme server? I am going to be experimenting with FDM & Handshake Domains so I want to be able to use this ACME server (https://acme.htools.work/directory), to streamline cert and TLSA record generation. |
Would love to see a dockerized version of FDM that uses environment variables to allow users to inject their pDNS API Key and any other configurable file/parameter related to FDM deployment. This would allow me to deploy my own FDM onto Akash.
The text was updated successfully, but these errors were encountered: