@@ -57,28 +57,88 @@ see the
5757
5858### For Single-User Setups
5959
60- Via conda (preferred):
61- ``` bash
62- conda install cylc-uiserver
63- ```
60+ Install:
61+
62+ | Conda/Mamba (preferred) | Pip |
63+ | --- | --- |
64+ | ` conda install cylc-uiserver-base ` | ` pip install cylc-uiserver ` |
6465
65- Via pip :
66+ Then start your server :
6667``` bash
67- pip install cylc-uiserver
68+ cylc gui
6869```
6970
7071### For Multi-User Setups
7172
72- Via conda (preferred):
73+ Install:
74+
75+ | Conda/Mamba (preferred) | Pip + Npm |
76+ | --- | --- |
77+ | ` conda install cylc-uiserver ` | ` pip install cylc-uiserver[hub] ` |
78+ | | ` npm install configurable-http-proxy ` |
79+
80+
81+ Then start your hub:
7382``` bash
74- conda install cylc-uiserver- hub
83+ cylc hub
7584```
7685
77- Via pip (consult jupyterhub documentation):
86+ ### List Of Packages
87+
88+ There are a few different packages to suit different needs.
89+
90+ | Tool | Package | Description | Cylc UI Server | Jupyter Hub | Configurable HTTP Proxy |
91+ | --- | --- | --- | --- | --- | --- |
92+ | pip | cylc-uiserver | Single user | :heavy_check_mark : | :x : | :x : |
93+ | conda | cylc-uiserver-base | Single user | :heavy_check_mark : | :x : | :x : |
94+ | conda | cylc-uiserver-hub-base | Multi user (without proxy) | :heavy_check_mark : | :heavy_check_mark : | :x : |
95+ | pip | cylc-uiserver[ hub] | Multi user (without proxy) | :heavy_check_mark : | :heavy_check_mark : | :x : |
96+ | conda | cylc-uiserver | Multi user | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
97+
98+ The Configurable HTTP Proxy package (Node JS) provides the reverse proxy
99+ that Jupyter Hub requires to collate user's servers behind a single URL. It can
100+ be installed via ` conda install configurable-http-proxy ` but is not available
101+ via pip (because it requires Node JS)
102+
103+ Other proxies including the
104+ [ Traefik Proxy] ( https://github.com/jupyterhub/traefik-proxy ) (Python) can also
105+ fulfil this purpose, see
106+ [ list of Jupyter Hub proxies] ( https://jupyterhub.readthedocs.io/en/stable/howto/proxy.html#index-of-proxies ) .
107+
108+ ### Installing Jupyter Hub Separately
109+
110+ The easiest way to get going with Cylc and Jupyter Hub is to install and deploy
111+ them together and launch Jupyter Hub via the ` cylc hub ` command.
112+
78113``` bash
79- pip install cylc-uiserver[hub]
114+ conda install cylc-uiserver
115+ cylc hub
80116```
81117
118+ However, you can also deploy Jupyter Hub separately from the servers it
119+ deploys (e.g. Jupyter Lab or Cylc UI Server) and launch it via the ` jupyterhub `
120+ command.
121+
122+ If you are deploying Jupyter Hub separately from Cylc UI Server, these
123+ configurations may be relevant:
124+
125+ * The Jupyter Hub
126+ [ ` spawner.cmd ` ] ( https://jupyterhub.readthedocs.io/en/stable/reference/config-reference.html )
127+ determines the command that Jupyter Hub runs in order to start a user's
128+ server. You may wish to use a wrapper script to activate the required environment.
129+ * The Jupyter Server
130+ [ `` ServerApp.jpserver_extensions `` ] ( https://jupyter-server.readthedocs.io/en/latest/other/full-config.html )
131+ configuration determines what Jupyter Server Extensions (e.g. Jupyter Lab or
132+ Cylc UI Server) are activated when Jupyter Server starts.
133+ The default behaviour is to activate any installed extensions, however, if
134+ overridden, you may need to explicitly list cylc-uiserver here.
135+ * The Cylc
136+ [ jupyter_config.py] ( https://github.com/cylc/cylc-uiserver/blob/master/cylc/uiserver/jupyter_config.py )
137+ file contains the default Cylc configuration. This applies to hubs started by
138+ ` cylc hub ` command but not by the ` jupyterhub ` command. You may want to
139+ include some of the configurations from this file in your Jupyter Hub
140+ configuration.
141+
82142
83143## Running
84144
0 commit comments