Skip to content

Commit dfd80ca

Browse files
authored
Merge pull request #595 from oliver-sanders/readme++
readme: update installation instructions
2 parents 7e061ad + f9a0265 commit dfd80ca

File tree

1 file changed

+70
-10
lines changed

1 file changed

+70
-10
lines changed

README.md

Lines changed: 70 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)