Mlflow: Feature request: Tracking server uri prefix for proxy

Created on 2 Jul 2018  路  4Comments  路  Source: mlflow/mlflow

I want a feature similar to sacredboard's "sub-url":
I want to use mlflow tracking server with jupyterhub. Jupyterhub has a "Services" option, which handles proxying services. But it adds a prefix to the url of the requests ("/services/").
Could be something like:
mlflow server ... --sub-url "/services/mlflow"
That will serve everything at http:/localhost:5000/services/mlflow/...

To do this, sacredboard uses ideas from here: http://blog.macuyiko.com/post/2016/fixing-flask-url_for-when-behind-mod_proxy.html
We can use it too

Acknowledged aremodel-registry aretracking enhancement

Most helpful comment

This is a great idea, we'll probably add something like this and move all routes in the javascript to a fragment after the URL.

All 4 comments

This is a great idea, we'll probably add something like this and move all routes in the javascript to a fragment after the URL.

To make it work, it would require changing the hardcoded/auto-generated paths in mlflow/server/js/src/sdk/MlflowService.js
and _get_paths() function in mlflow/server/handlers.py

Then you would have it working.

I'm also experimenting with serving the mlflow server from behind a reverse proxy that puts it on a sub-path.

From what I can tell, the only thing that preventing me from using it as-is is the fact that the AJAX API calls to /ajax-api/... use an absolute path. If I change those paths to just the relative ajax-api/... it seems to work fine. (The asset URLs already seem to use relative URLs and so seem to resolve fine when hosted behind the reverse proxy with sub-url.)

Would there be any issue in just making those AJAX API calls relative? (They are the ones that end up in the generated mlflow/mlflow/server/js/src/sdk/MlflowService.js)

Edit: Oh, actually this was already mentioned in #597 ; except with my added question of if one can simply make the api path relative.

Hi all, using a reverse proxy w/ MLflow has come up a bunch, but it's a bit hard to for us to keep track of the issues and help here. We definitely need some community help. I've created #2823 as a place to request this help.

Was this page helpful?
0 / 5 - 0 ratings