diff --git a/config/galaxy.yml.sample b/config/galaxy.yml.sample index 5dab10ae5c6..162735330da 100644 --- a/config/galaxy.yml.sample +++ b/config/galaxy.yml.sample @@ -66,6 +66,14 @@ uwsgi: # Reports, etc.) that you are loading. module: galaxy.webapps.galaxy.buildapp:uwsgi_app() + # Mount the web application (e.g. Galaxy, Reports, etc.) at the given + # URL prefix. Cannot be used together with 'module:' above. + #mount: /galaxy=galaxy.webapps.galaxy.buildapp:uwsgi_app() + + # Make uWSGI rewrite PATH_INFO and SCRIPT_NAME according to mount- + # points. Set this to true if a URL prefix is used. + manage-script-name: false + # It is usually a good idea to set this to ``true`` if processes is # greater than 1. thunder-lock: false @@ -90,16 +98,11 @@ uwsgi: galaxy: - # If running behind a proxy server and Galaxy is served from a - # subdirectory, enable the proxy-prefix filter and set the prefix in - # the [filter:proxy-prefix] section above. - #filter-with: proxy-prefix - - # If proxy-prefix is enabled and you're running more than one Galaxy - # instance behind one hostname, you will want to set this to the same - # path as the prefix in the filter above. This value becomes the - # "path" attribute set in the cookie so the cookies from each instance - # will not clobber each other. + # When running multiple Galaxy instances under separate URL prefixes + # on a single hostname, you will want to set this to the same path as + # the prefix set in the uWSGI "mount" configuration option above. This + # value becomes the "path" attribute set in the cookie so the cookies + # from one instance will not clobber those from another. #cookie_path: '' # By default, Galaxy uses a SQLite database at @@ -167,10 +170,13 @@ galaxy: # not recommended for production use. #database_auto_migrate: false - # Dataset files are stored in this directory. + # Where dataset files are stored. It must accessible at the same path + # on any cluster nodes that will run Galaxy jobs, unless using Pulsar. #file_path: database/files - # Temporary files are stored in this directory. + # Where temporary files are stored. It must accessible at the same + # path on any cluster nodes that will run Galaxy jobs, unless using + # Pulsar. #new_file_path: database/tmp # Tool config files, defines what tools are available in Galaxy. Tools diff --git a/config/reports.yml.sample b/config/reports.yml.sample index aa6fc445e21..fa9e533bcfd 100644 --- a/config/reports.yml.sample +++ b/config/reports.yml.sample @@ -48,6 +48,14 @@ uwsgi: # Reports, etc.) that you are loading. module: galaxy.webapps.reports.buildapp:uwsgi_app() + # Mount the web application (e.g. Galaxy, Reports, etc.) at the given + # URL prefix. Cannot be used together with 'module:' above. + #mount: /galaxy=galaxy.webapps.galaxy.buildapp:uwsgi_app() + + # Make uWSGI rewrite PATH_INFO and SCRIPT_NAME according to mount- + # points. Set this to true if a URL prefix is used. + manage-script-name: false + # It is usually a good idea to set this to ``true`` if processes is # greater than 1. thunder-lock: false @@ -72,34 +80,27 @@ uwsgi: reports: - # If running behind a proxy server and Galaxy is served from a - # subdirectory, enable the proxy-prefix filter and set the prefix in - # the [filter:proxy-prefix] section above. - #filter-with: proxy-prefix - - # If proxy-prefix is enabled and you're running more than one Galaxy - # instance behind one hostname, you will want to set this to the same - # path as the prefix in the filter above. This value becomes the - # "path" attribute set in the cookie so the cookies from each instance - # will not clobber each other. + # When running multiple Galaxy Reports instances under separate URL + # prefixes on a single hostname, you will want to set this to the same + # path as the prefix set in the uWSGI "mount" configuration option + # above. This value becomes the "path" attribute set in the cookie so + # the cookies from one instance will not clobber those from another. #cookie_path: null # Verbosity of console log messages. Acceptable values can be found # here: https://docs.python.org/2/library/logging.html#logging-levels #log_level: DEBUG - # Database connection Galaxy reports are intended for production + # Database connection. Galaxy Reports are intended for production # Galaxy instances, so sqlite (and the default value below) is not # supported. An SQLAlchemy connection string should be used specify an # external database. #database_connection: 'sqlite:///./database/universe.sqlite?isolation_level=IMMEDIATE' - # Where dataset files are saved Temporary storage for additional - # datasets, this should be shared through the cluster + # Where dataset files are stored. #file_path: database/files - # Where dataset files are saved Temporary storage for additional - # datasets, this should be shared through the cluster + # Where temporary files are stored. #new_file_path: database/tmp # Mako templates are compiled as needed and cached for reuse, this diff --git a/config/tool_shed.yml.sample b/config/tool_shed.yml.sample index 10988440f1c..f4bfe2501c3 100644 --- a/config/tool_shed.yml.sample +++ b/config/tool_shed.yml.sample @@ -48,6 +48,14 @@ uwsgi: # Reports, etc.) that you are loading. module: galaxy.webapps.tool_shed.buildapp:uwsgi_app() + # Mount the web application (e.g. Galaxy, Reports, etc.) at the given + # URL prefix. Cannot be used together with 'module:' above. + #mount: /galaxy=galaxy.webapps.galaxy.buildapp:uwsgi_app() + + # Make uWSGI rewrite PATH_INFO and SCRIPT_NAME according to mount- + # points. Set this to true if a URL prefix is used. + manage-script-name: false + # It is usually a good idea to set this to ``true`` if processes is # greater than 1. thunder-lock: false @@ -87,11 +95,10 @@ tool_shed: # installation directory. #hgweb_config_dir: null - # Where tool shed repositories are stored. + # Where Tool Shed repositories are stored. #file_path: database/community_files - # Temporary storage for additional datasets, this should be shared - # through the cluster + # Where temporary files are stored. #new_file_path: database/tmp # File containing old-style genome builds @@ -225,10 +232,10 @@ tool_shed: # Allow administrators to delete accounts. #allow_user_deletion: false - # For use by email messages sent from the tool shed + # For use by email messages sent from the Tool Shed. #smtp_server: smtp.your_tool_shed_server - # For use by email messages sent from the tool shed + # For use by email messages sent from the Tool Shed. #email_from: your_tool_shed_email@server # If your SMTP server requires a username and password, you can @@ -344,11 +351,11 @@ tool_shed: # store this information. #citation_cache_lock_dir: database/citations/lock - # If proxy-prefix is enabled and you're running more than one Galaxy - # instance behind one hostname, you will want to set this to the same - # path as the prefix in the filter above. This value becomes the - # "path" attribute set in the cookie so the cookies from each instance - # will not clobber each other. + # When running multiple Tool Shed instances under separate URL + # prefixes on a single hostname, you will want to set this to the same + # path as the prefix set in the uWSGI "mount" configuration option + # above. This value becomes the "path" attribute set in the cookie so + # the cookies from one instance will not clobber those from another. #cookie_path: null # Enable authentication via OpenID. Allows users to log in to their diff --git a/doc/source/admin/galaxy_options.rst b/doc/source/admin/galaxy_options.rst index 45566ae351a..5627878a90b 100644 --- a/doc/source/admin/galaxy_options.rst +++ b/doc/source/admin/galaxy_options.rst @@ -1,25 +1,13 @@ -~~~~~~~~~~~~~~~ -``filter-with`` -~~~~~~~~~~~~~~~ - -:Description: - If running behind a proxy server and Galaxy is served from a - subdirectory, enable the proxy-prefix filter and set the prefix in - the [filter:proxy-prefix] section above. -:Default: ``proxy-prefix`` -:Type: str - - ~~~~~~~~~~~~~~~ ``cookie_path`` ~~~~~~~~~~~~~~~ :Description: - If proxy-prefix is enabled and you're running more than one Galaxy - instance behind one hostname, you will want to set this to the - same path as the prefix in the filter above. This value becomes - the "path" attribute set in the cookie so the cookies from each - instance will not clobber each other. + When running multiple Galaxy instances under separate URL prefixes + on a single hostname, you will want to set this to the same path + as the prefix set in the uWSGI "mount" configuration option above. + This value becomes the "path" attribute set in the cookie so the + cookies from one instance will not clobber those from another. :Default: ```` :Type: str @@ -173,7 +161,9 @@ ~~~~~~~~~~~~~ :Description: - Dataset files are stored in this directory. + Where dataset files are stored. It must accessible at the same + path on any cluster nodes that will run Galaxy jobs, unless using + Pulsar. :Default: ``database/files`` :Type: str @@ -183,7 +173,9 @@ ~~~~~~~~~~~~~~~~~ :Description: - Temporary files are stored in this directory. + Where temporary files are stored. It must accessible at the same + path on any cluster nodes that will run Galaxy jobs, unless using + Pulsar. :Default: ``database/tmp`` :Type: str diff --git a/doc/source/admin/reports_options.rst b/doc/source/admin/reports_options.rst index d3cc03e683e..1a0a7b83032 100644 --- a/doc/source/admin/reports_options.rst +++ b/doc/source/admin/reports_options.rst @@ -1,25 +1,14 @@ -~~~~~~~~~~~~~~~ -``filter-with`` -~~~~~~~~~~~~~~~ - -:Description: - If running behind a proxy server and Galaxy is served from a - subdirectory, enable the proxy-prefix filter and set the prefix in - the [filter:proxy-prefix] section above. -:Default: ``proxy-prefix`` -:Type: str - - ~~~~~~~~~~~~~~~ ``cookie_path`` ~~~~~~~~~~~~~~~ :Description: - If proxy-prefix is enabled and you're running more than one Galaxy - instance behind one hostname, you will want to set this to the - same path as the prefix in the filter above. This value becomes - the "path" attribute set in the cookie so the cookies from each - instance will not clobber each other. + When running multiple Galaxy Reports instances under separate URL + prefixes on a single hostname, you will want to set this to the + same path as the prefix set in the uWSGI "mount" configuration + option above. This value becomes the "path" attribute set in the + cookie so the cookies from one instance will not clobber those + from another. :Default: ``None`` :Type: str @@ -41,7 +30,7 @@ ~~~~~~~~~~~~~~~~~~~~~~~ :Description: - Database connection Galaxy reports are intended for production + Database connection. Galaxy Reports are intended for production Galaxy instances, so sqlite (and the default value below) is not supported. An SQLAlchemy connection string should be used specify an external database. @@ -54,8 +43,7 @@ ~~~~~~~~~~~~~ :Description: - Where dataset files are saved Temporary storage for additional - datasets, this should be shared through the cluster + Where dataset files are stored. :Default: ``database/files`` :Type: str @@ -65,8 +53,7 @@ ~~~~~~~~~~~~~~~~~ :Description: - Where dataset files are saved Temporary storage for additional - datasets, this should be shared through the cluster + Where temporary files are stored. :Default: ``database/tmp`` :Type: str diff --git a/lib/galaxy/webapps/config_manage.py b/lib/galaxy/webapps/config_manage.py index 3bd5dbc3dbe..fc0beae88a1 100644 --- a/lib/galaxy/webapps/config_manage.py +++ b/lib/galaxy/webapps/config_manage.py @@ -111,6 +111,16 @@ UWSGI_OPTIONS = OrderedDict([ 'default': '$uwsgi_module', 'type': 'str', }), + ('#mount', { + 'desc': """Mount the web application (e.g. Galaxy, Reports, etc.) at the given URL prefix. Cannot be used together with 'module:' above.""", + 'default': '/galaxy=galaxy.webapps.galaxy.buildapp:uwsgi_app()', + 'type': 'str', + }), + ('manage-script-name', { + 'desc': """Make uWSGI rewrite PATH_INFO and SCRIPT_NAME according to mount-points. Set this to true if a URL prefix is used.""", + 'default': False, + 'type': 'bool', + }), ('thunder-lock', { 'desc': """It is usually a good idea to set this to ``true`` if processes is greater than 1.""", 'default': False, diff --git a/lib/galaxy/webapps/galaxy/config_schema.yml b/lib/galaxy/webapps/galaxy/config_schema.yml index b448cb80ff1..8db6eb8fcaf 100644 --- a/lib/galaxy/webapps/galaxy/config_schema.yml +++ b/lib/galaxy/webapps/galaxy/config_schema.yml @@ -25,33 +25,16 @@ mapping: required: true mapping: - filter-with: - type: str - default: gzip - required: false - desc: | - If not running behind a proxy server, you may want to enable gzip compression - to decrease the size of data transferred over the network. If using a proxy - server, please enable gzip compression there instead. - - filter-with: - type: str - default: proxy-prefix - required: false - desc: | - If running behind a proxy server and Galaxy is served from a subdirectory, - enable the proxy-prefix filter and set the prefix in the - [filter:proxy-prefix] section above. - cookie_path: type: str default: '' required: false desc: | - If proxy-prefix is enabled and you're running more than one Galaxy instance - behind one hostname, you will want to set this to the same path as the prefix - in the filter above. This value becomes the "path" attribute set in the - cookie so the cookies from each instance will not clobber each other. + When running multiple Galaxy instances under separate URL prefixes on a + single hostname, you will want to set this to the same path as the prefix set + in the uWSGI "mount" configuration option above. This value becomes the "path" + attribute set in the cookie so the cookies from one instance will not clobber + those from another. database_connection: type: str @@ -161,14 +144,16 @@ mapping: default: database/files required: false desc: | - Dataset files are stored in this directory. + Where dataset files are stored. It must accessible at the same path on any cluster + nodes that will run Galaxy jobs, unless using Pulsar. new_file_path: type: str default: database/tmp required: false desc: | - Temporary files are stored in this directory. + Where temporary files are stored. It must accessible at the same path on any cluster + nodes that will run Galaxy jobs, unless using Pulsar. tool_config_file: type: str diff --git a/lib/galaxy/webapps/reports/config_schema.yml b/lib/galaxy/webapps/reports/config_schema.yml index c02b31d9e06..91be030da36 100644 --- a/lib/galaxy/webapps/reports/config_schema.yml +++ b/lib/galaxy/webapps/reports/config_schema.yml @@ -7,21 +7,14 @@ mapping: desc: | Galaxy Reports configuration options. mapping: - filter-with: - type: str - default: proxy-prefix - desc: | - If running behind a proxy server and Galaxy is served from a subdirectory, - enable the proxy-prefix filter and set the prefix in the - [filter:proxy-prefix] section above. - cookie_path: type: str desc: | - If proxy-prefix is enabled and you're running more than one Galaxy instance - behind one hostname, you will want to set this to the same path as the prefix - in the filter above. This value becomes the "path" attribute set in the - cookie so the cookies from each instance will not clobber each other. + When running multiple Galaxy Reports instances under separate URL prefixes on a + single hostname, you will want to set this to the same path as the prefix set + in the uWSGI "mount" configuration option above. This value becomes the "path" + attribute set in the cookie so the cookies from one instance will not clobber + those from another. log_level: type: str @@ -34,8 +27,8 @@ mapping: type: str default: sqlite:///./database/universe.sqlite?isolation_level=IMMEDIATE desc: | - Database connection - Galaxy reports are intended for production Galaxy instances, so sqlite (and the default value + Database connection. + Galaxy Reports are intended for production Galaxy instances, so sqlite (and the default value below) is not supported. An SQLAlchemy connection string should be used specify an external database. @@ -43,15 +36,13 @@ mapping: type: str default: database/files desc: | - Where dataset files are saved - Temporary storage for additional datasets, this should be shared through the cluster + Where dataset files are stored. new_file_path: type: str default: database/tmp desc: | - Where dataset files are saved - Temporary storage for additional datasets, this should be shared through the cluster + Where temporary files are stored. template_cache_path: type: str diff --git a/lib/galaxy/webapps/tool_shed/config_schema.yml b/lib/galaxy/webapps/tool_shed/config_schema.yml index 7e6d65b3a43..ab15268a100 100644 --- a/lib/galaxy/webapps/tool_shed/config_schema.yml +++ b/lib/galaxy/webapps/tool_shed/config_schema.yml @@ -37,15 +37,14 @@ mapping: default: database/community_files required: false desc: | - Where tool shed repositories are stored. + Where Tool Shed repositories are stored. new_file_path: type: str default: database/tmp required: false desc: | - Temporary storage for additional datasets, - this should be shared through the cluster + Where temporary files are stored. builds_file_path: type: str @@ -293,14 +292,14 @@ mapping: default: smtp.your_tool_shed_server required: false desc: | - For use by email messages sent from the tool shed + For use by email messages sent from the Tool Shed. email_from: type: str default: your_tool_shed_email@server required: false desc: | - For use by email messages sent from the tool shed + For use by email messages sent from the Tool Shed. smtp_username: type: str @@ -522,10 +521,11 @@ mapping: default: null required: false desc: | - If proxy-prefix is enabled and you're running more than one Galaxy instance - behind one hostname, you will want to set this to the same path as the prefix - in the filter above. This value becomes the "path" attribute set in the - cookie so the cookies from each instance will not clobber each other. + When running multiple Tool Shed instances under separate URL prefixes on a + single hostname, you will want to set this to the same path as the prefix set + in the uWSGI "mount" configuration option above. This value becomes the "path" + attribute set in the cookie so the cookies from one instance will not clobber + those from another. enable_openid: type: bool