Linkt to "Access XOA" - If Installed in Docker on a VM
-
Greetings everyone,
i just looked at the new XO-Lite in the latest 8.3 Release.The Access XOA Button managed to get the information, that my XOA is running. So that's awesome.
But
My XO is installed in a Docker Container and does not run on port 80 or 443, because i have it run behind Traefik.
It manages to find the Docker Internal Network IP.I wouldn't expect it to work automagically with my special setup, but is there a plan to make a little config file where i could put my own IP/URL for this button, so that even on my other Hosts and Pools i could use one XO Appliance and have that quick link?
-
Hi,
No it's not planned. I even wonder how it worked on a non-XOA installation The idea was planned for XOA, not XO, because it's far more straightforward (we expect some defaults). You might be able to modify the JS to get the right port for you though
edit: let me check if @pdonias or @MathieuRA can point you in the right direction!
-
@olivierlambert
I'm known to "break" the systems to check if it's working correctly.If you need any more information on how i "broke" it, let me know.
-
Don't worry, not a big deal. I'd like to tell you where you can modify the JS to use the right URL for you, I can't do it myself because I do not know the XO Lite code base well enough, but expect an answer early next week!
-
Hi @Houbsi, good question. This is how it works:
- any XO instance that is connected to a pool will add some information about itself to the pool's metadata
- XO Lite reads that information to know the URL of XO's UI
In
xo-server
's config, you can force XO to report a custom URL instead of raw network information:[http] publicUrl = 'http://example.com'
However, at the moment, XO Lite doesn't support it, but it's coming soon: https://github.com/vatesfr/xen-orchestra/pull/7849
And @olivierlambert, yes, for now, any XO instance, whether it's an XOA or not, reports itself on the pool and we simply pick the latest one. But we can definitely implement something smarter in the future if necessary.