diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-21 15:39:04 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-21 15:39:04 +0000 |
commit | 5e9720ea7ee39dbade0d5ab734e24edbe61e14ee (patch) | |
tree | 3d3856248b9f2c07a13d063c4df5053b978b69c9 | |
parent | 387f0c61474751a091ca72f5aa988c148df23e11 (diff) |
automatic import of python-jupyterhubopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-jupyterhub.spec | 494 | ||||
-rw-r--r-- | sources | 2 |
3 files changed, 483 insertions, 14 deletions
@@ -1 +1,2 @@ /jupyterhub-3.1.1.tar.gz +/jupyterhub-4.0.0.tar.gz diff --git a/python-jupyterhub.spec b/python-jupyterhub.spec index fb9710a..08dbb03 100644 --- a/python-jupyterhub.spec +++ b/python-jupyterhub.spec @@ -1,11 +1,11 @@ %global _empty_manifest_terminate_build 0 Name: python-jupyterhub -Version: 3.1.1 +Version: 4.0.0 Release: 1 Summary: JupyterHub: A multi-user server for Jupyter notebooks License: BSD URL: https://jupyter.org -Source0: https://mirrors.nju.edu.cn/pypi/web/packages/74/68/e6f441f789fdd76948be52a5583fcd8102bbeee69978d99cae7d9dcad00f/jupyterhub-3.1.1.tar.gz +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/3f/c4/847f82d0ba195fc2c60aefc3123cdbbc3f9d11d7d3053f67a506f535b870/jupyterhub-4.0.0.tar.gz BuildArch: noarch Requires: python3-alembic @@ -39,9 +39,165 @@ Requires: python3-selenium Requires: python3-virtualenv %description -Please note that this repository is participating in a study into the sustainability of open source projects. Data will be gathered about this repository for approximately the next 12 months, starting from 2021-06-11. -Data collected will include the number of contributors, number of PRs, time taken to close/merge these PRs, and issues closed. -For more information, please visit +# [JupyterHub](https://github.com/jupyterhub/jupyterhub) +[](https://pypi.python.org/pypi/jupyterhub) +[](https://anaconda.org/conda-forge/jupyterhub) +[](https://jupyterhub.readthedocs.org/en/latest/) +[](https://github.com/jupyterhub/jupyterhub/actions) +[](https://hub.docker.com/r/jupyterhub/jupyterhub/tags) +[](https://codecov.io/gh/jupyterhub/jupyterhub) +[](https://github.com/jupyterhub/jupyterhub/issues) +[](https://discourse.jupyter.org/c/jupyterhub) +[](https://gitter.im/jupyterhub/jupyterhub) +With [JupyterHub](https://jupyterhub.readthedocs.io) you can create a +**multi-user Hub** that spawns, manages, and proxies multiple instances of the +single-user [Jupyter notebook](https://jupyter-notebook.readthedocs.io) +server. +[Project Jupyter](https://jupyter.org) created JupyterHub to support many +users. The Hub can offer notebook servers to a class of students, a corporate +data science workgroup, a scientific research project, or a high-performance +computing group. +## Technical overview +Three main actors make up JupyterHub: +- multi-user **Hub** (tornado process) +- configurable http **proxy** (node-http-proxy) +- multiple **single-user Jupyter notebook servers** (Python/Jupyter/tornado) +Basic principles for operation are: +- Hub launches a proxy. +- The Proxy forwards all requests to Hub by default. +- Hub handles login and spawns single-user servers on demand. +- Hub configures proxy to forward URL prefixes to the single-user notebook + servers. +JupyterHub also provides a +[REST API][] +for administration of the Hub and its users. +[rest api]: https://jupyterhub.readthedocs.io/en/latest/reference/rest-api.html +## Installation +### Check prerequisites +- A Linux/Unix based system +- [Python](https://www.python.org/downloads/) 3.6 or greater +- [nodejs/npm](https://www.npmjs.com/) + - If you are using **`conda`**, the nodejs and npm dependencies will be installed for + you by conda. + - If you are using **`pip`**, install a recent version (at least 12.0) of + [nodejs/npm](https://docs.npmjs.com/getting-started/installing-node). +- If using the default PAM Authenticator, a [pluggable authentication module (PAM)](https://en.wikipedia.org/wiki/Pluggable_authentication_module). +- TLS certificate and key for HTTPS communication +- Domain name +### Install packages +#### Using `conda` +To install JupyterHub along with its dependencies including nodejs/npm: +```bash +conda install -c conda-forge jupyterhub +``` +If you plan to run notebook servers locally, install JupyterLab or Jupyter notebook: +```bash +conda install jupyterlab +conda install notebook +``` +#### Using `pip` +JupyterHub can be installed with `pip`, and the proxy with `npm`: +```bash +npm install -g configurable-http-proxy +python3 -m pip install jupyterhub +``` +If you plan to run notebook servers locally, you will need to install +[JupyterLab or Jupyter notebook](https://jupyter.readthedocs.io/en/latest/install.html): + python3 -m pip install --upgrade jupyterlab + python3 -m pip install --upgrade notebook +### Run the Hub server +To start the Hub server, run the command: + jupyterhub +Visit `http://localhost:8000` in your browser, and sign in with your system username and password. +_Note_: To allow multiple users to sign in to the server, you will need to +run the `jupyterhub` command as a _privileged user_, such as root. +The [wiki](https://github.com/jupyterhub/jupyterhub/wiki/Using-sudo-to-run-JupyterHub-without-root-privileges) +describes how to run the server as a _less privileged user_, which requires +more configuration of the system. +## Configuration +The [Getting Started](https://jupyterhub.readthedocs.io/en/latest/tutorial/index.html#getting-started) section of the +documentation explains the common steps in setting up JupyterHub. +The [**JupyterHub tutorial**](https://github.com/jupyterhub/jupyterhub-tutorial) +provides an in-depth video and sample configurations of JupyterHub. +### Create a configuration file +To generate a default config file with settings and descriptions: + jupyterhub --generate-config +### Start the Hub +To start the Hub on a specific url and port `10.0.1.2:443` with **https**: + jupyterhub --ip 10.0.1.2 --port 443 --ssl-key my_ssl.key --ssl-cert my_ssl.cert +### Authenticators +| Authenticator | Description | +| ---------------------------------------------------------------------------- | ------------------------------------------------- | +| PAMAuthenticator | Default, built-in authenticator | +| [OAuthenticator](https://github.com/jupyterhub/oauthenticator) | OAuth + JupyterHub Authenticator = OAuthenticator | +| [ldapauthenticator](https://github.com/jupyterhub/ldapauthenticator) | Simple LDAP Authenticator Plugin for JupyterHub | +| [kerberosauthenticator](https://github.com/jupyterhub/kerberosauthenticator) | Kerberos Authenticator Plugin for JupyterHub | +### Spawners +| Spawner | Description | +| -------------------------------------------------------------- | -------------------------------------------------------------------------- | +| LocalProcessSpawner | Default, built-in spawner starts single-user servers as local processes | +| [dockerspawner](https://github.com/jupyterhub/dockerspawner) | Spawn single-user servers in Docker containers | +| [kubespawner](https://github.com/jupyterhub/kubespawner) | Kubernetes spawner for JupyterHub | +| [sudospawner](https://github.com/jupyterhub/sudospawner) | Spawn single-user servers without being root | +| [systemdspawner](https://github.com/jupyterhub/systemdspawner) | Spawn single-user notebook servers using systemd | +| [batchspawner](https://github.com/jupyterhub/batchspawner) | Designed for clusters using batch scheduling software | +| [yarnspawner](https://github.com/jupyterhub/yarnspawner) | Spawn single-user notebook servers distributed on a Hadoop cluster | +| [wrapspawner](https://github.com/jupyterhub/wrapspawner) | WrapSpawner and ProfilesSpawner enabling runtime configuration of spawners | +## Docker +A starter [**docker image for JupyterHub**](https://hub.docker.com/r/jupyterhub/jupyterhub/) +gives a baseline deployment of JupyterHub using Docker. +**Important:** This `jupyterhub/jupyterhub` image contains only the Hub itself, +with no configuration. In general, one needs to make a derivative image, with +at least a `jupyterhub_config.py` setting up an Authenticator and/or a Spawner. +To run the single-user servers, which may be on the same system as the Hub or +not, Jupyter Notebook version 4 or greater must be installed. +The JupyterHub docker image can be started with the following command: + docker run -p 8000:8000 -d --name jupyterhub jupyterhub/jupyterhub jupyterhub +This command will create a container named `jupyterhub` that you can +**stop and resume** with `docker stop/start`. +The Hub service will be listening on all interfaces at port 8000, which makes +this a good choice for **testing JupyterHub on your desktop or laptop**. +If you want to run docker on a computer that has a public IP then you should +(as in MUST) **secure it with ssl** by adding ssl options to your docker +configuration or by using an ssl enabled proxy. +[Mounting volumes](https://docs.docker.com/engine/admin/volumes/volumes/) will +allow you to **store data outside the docker image (host system) so it will be persistent**, even when you start +a new image. +The command `docker exec -it jupyterhub bash` will spawn a root shell in your docker +container. You can **use the root shell to create system users in the container**. +These accounts will be used for authentication in JupyterHub's default configuration. +## Contributing +If you would like to contribute to the project, please read our +[contributor documentation](https://jupyter.readthedocs.io/en/latest/contributing/content-contributor.html) +and the [`CONTRIBUTING.md`](CONTRIBUTING.md). The `CONTRIBUTING.md` file +explains how to set up a development installation, how to run the test suite, +and how to contribute to documentation. +For a high-level view of the vision and next directions of the project, see the +[JupyterHub community roadmap](docs/source/contributing/roadmap.md). +### A note about platform support +JupyterHub is supported on Linux/Unix based systems. +JupyterHub officially **does not** support Windows. You may be able to use +JupyterHub on Windows if you use a Spawner and Authenticator that work on +Windows, but the JupyterHub defaults will not. Bugs reported on Windows will not +be accepted, and the test suite will not run on Windows. Small patches that fix +minor Windows compatibility issues (such as basic installation) **may** be accepted, +however. For Windows-based systems, we would recommend running JupyterHub in a +docker container or Linux VM. +[Additional Reference:](http://www.tornadoweb.org/en/stable/#installation) Tornado's documentation on Windows platform support +## License +We use a shared copyright model that enables all contributors to maintain the +copyright on their contributions. +All code is licensed under the terms of the [revised BSD license](./COPYING.md). +## Help and resources +We encourage you to ask questions and share ideas on the [Jupyter community forum](https://discourse.jupyter.org/). +You can also talk with us on our JupyterHub [Gitter](https://gitter.im/jupyterhub/jupyterhub) channel. +- [Reporting Issues](https://github.com/jupyterhub/jupyterhub/issues) +- [JupyterHub tutorial](https://github.com/jupyterhub/jupyterhub-tutorial) +- [Documentation for JupyterHub](https://jupyterhub.readthedocs.io/en/latest/) +- [Documentation for JupyterHub's REST API][rest api] +- [Documentation for Project Jupyter](http://jupyter.readthedocs.io/en/latest/index.html) +- [Project Jupyter website](https://jupyter.org) +- [Project Jupyter community](https://jupyter.org/community) %package -n python3-jupyterhub Summary: JupyterHub: A multi-user server for Jupyter notebooks @@ -50,20 +206,332 @@ BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-jupyterhub -Please note that this repository is participating in a study into the sustainability of open source projects. Data will be gathered about this repository for approximately the next 12 months, starting from 2021-06-11. -Data collected will include the number of contributors, number of PRs, time taken to close/merge these PRs, and issues closed. -For more information, please visit +# [JupyterHub](https://github.com/jupyterhub/jupyterhub) +[](https://pypi.python.org/pypi/jupyterhub) +[](https://anaconda.org/conda-forge/jupyterhub) +[](https://jupyterhub.readthedocs.org/en/latest/) +[](https://github.com/jupyterhub/jupyterhub/actions) +[](https://hub.docker.com/r/jupyterhub/jupyterhub/tags) +[](https://codecov.io/gh/jupyterhub/jupyterhub) +[](https://github.com/jupyterhub/jupyterhub/issues) +[](https://discourse.jupyter.org/c/jupyterhub) +[](https://gitter.im/jupyterhub/jupyterhub) +With [JupyterHub](https://jupyterhub.readthedocs.io) you can create a +**multi-user Hub** that spawns, manages, and proxies multiple instances of the +single-user [Jupyter notebook](https://jupyter-notebook.readthedocs.io) +server. +[Project Jupyter](https://jupyter.org) created JupyterHub to support many +users. The Hub can offer notebook servers to a class of students, a corporate +data science workgroup, a scientific research project, or a high-performance +computing group. +## Technical overview +Three main actors make up JupyterHub: +- multi-user **Hub** (tornado process) +- configurable http **proxy** (node-http-proxy) +- multiple **single-user Jupyter notebook servers** (Python/Jupyter/tornado) +Basic principles for operation are: +- Hub launches a proxy. +- The Proxy forwards all requests to Hub by default. +- Hub handles login and spawns single-user servers on demand. +- Hub configures proxy to forward URL prefixes to the single-user notebook + servers. +JupyterHub also provides a +[REST API][] +for administration of the Hub and its users. +[rest api]: https://jupyterhub.readthedocs.io/en/latest/reference/rest-api.html +## Installation +### Check prerequisites +- A Linux/Unix based system +- [Python](https://www.python.org/downloads/) 3.6 or greater +- [nodejs/npm](https://www.npmjs.com/) + - If you are using **`conda`**, the nodejs and npm dependencies will be installed for + you by conda. + - If you are using **`pip`**, install a recent version (at least 12.0) of + [nodejs/npm](https://docs.npmjs.com/getting-started/installing-node). +- If using the default PAM Authenticator, a [pluggable authentication module (PAM)](https://en.wikipedia.org/wiki/Pluggable_authentication_module). +- TLS certificate and key for HTTPS communication +- Domain name +### Install packages +#### Using `conda` +To install JupyterHub along with its dependencies including nodejs/npm: +```bash +conda install -c conda-forge jupyterhub +``` +If you plan to run notebook servers locally, install JupyterLab or Jupyter notebook: +```bash +conda install jupyterlab +conda install notebook +``` +#### Using `pip` +JupyterHub can be installed with `pip`, and the proxy with `npm`: +```bash +npm install -g configurable-http-proxy +python3 -m pip install jupyterhub +``` +If you plan to run notebook servers locally, you will need to install +[JupyterLab or Jupyter notebook](https://jupyter.readthedocs.io/en/latest/install.html): + python3 -m pip install --upgrade jupyterlab + python3 -m pip install --upgrade notebook +### Run the Hub server +To start the Hub server, run the command: + jupyterhub +Visit `http://localhost:8000` in your browser, and sign in with your system username and password. +_Note_: To allow multiple users to sign in to the server, you will need to +run the `jupyterhub` command as a _privileged user_, such as root. +The [wiki](https://github.com/jupyterhub/jupyterhub/wiki/Using-sudo-to-run-JupyterHub-without-root-privileges) +describes how to run the server as a _less privileged user_, which requires +more configuration of the system. +## Configuration +The [Getting Started](https://jupyterhub.readthedocs.io/en/latest/tutorial/index.html#getting-started) section of the +documentation explains the common steps in setting up JupyterHub. +The [**JupyterHub tutorial**](https://github.com/jupyterhub/jupyterhub-tutorial) +provides an in-depth video and sample configurations of JupyterHub. +### Create a configuration file +To generate a default config file with settings and descriptions: + jupyterhub --generate-config +### Start the Hub +To start the Hub on a specific url and port `10.0.1.2:443` with **https**: + jupyterhub --ip 10.0.1.2 --port 443 --ssl-key my_ssl.key --ssl-cert my_ssl.cert +### Authenticators +| Authenticator | Description | +| ---------------------------------------------------------------------------- | ------------------------------------------------- | +| PAMAuthenticator | Default, built-in authenticator | +| [OAuthenticator](https://github.com/jupyterhub/oauthenticator) | OAuth + JupyterHub Authenticator = OAuthenticator | +| [ldapauthenticator](https://github.com/jupyterhub/ldapauthenticator) | Simple LDAP Authenticator Plugin for JupyterHub | +| [kerberosauthenticator](https://github.com/jupyterhub/kerberosauthenticator) | Kerberos Authenticator Plugin for JupyterHub | +### Spawners +| Spawner | Description | +| -------------------------------------------------------------- | -------------------------------------------------------------------------- | +| LocalProcessSpawner | Default, built-in spawner starts single-user servers as local processes | +| [dockerspawner](https://github.com/jupyterhub/dockerspawner) | Spawn single-user servers in Docker containers | +| [kubespawner](https://github.com/jupyterhub/kubespawner) | Kubernetes spawner for JupyterHub | +| [sudospawner](https://github.com/jupyterhub/sudospawner) | Spawn single-user servers without being root | +| [systemdspawner](https://github.com/jupyterhub/systemdspawner) | Spawn single-user notebook servers using systemd | +| [batchspawner](https://github.com/jupyterhub/batchspawner) | Designed for clusters using batch scheduling software | +| [yarnspawner](https://github.com/jupyterhub/yarnspawner) | Spawn single-user notebook servers distributed on a Hadoop cluster | +| [wrapspawner](https://github.com/jupyterhub/wrapspawner) | WrapSpawner and ProfilesSpawner enabling runtime configuration of spawners | +## Docker +A starter [**docker image for JupyterHub**](https://hub.docker.com/r/jupyterhub/jupyterhub/) +gives a baseline deployment of JupyterHub using Docker. +**Important:** This `jupyterhub/jupyterhub` image contains only the Hub itself, +with no configuration. In general, one needs to make a derivative image, with +at least a `jupyterhub_config.py` setting up an Authenticator and/or a Spawner. +To run the single-user servers, which may be on the same system as the Hub or +not, Jupyter Notebook version 4 or greater must be installed. +The JupyterHub docker image can be started with the following command: + docker run -p 8000:8000 -d --name jupyterhub jupyterhub/jupyterhub jupyterhub +This command will create a container named `jupyterhub` that you can +**stop and resume** with `docker stop/start`. +The Hub service will be listening on all interfaces at port 8000, which makes +this a good choice for **testing JupyterHub on your desktop or laptop**. +If you want to run docker on a computer that has a public IP then you should +(as in MUST) **secure it with ssl** by adding ssl options to your docker +configuration or by using an ssl enabled proxy. +[Mounting volumes](https://docs.docker.com/engine/admin/volumes/volumes/) will +allow you to **store data outside the docker image (host system) so it will be persistent**, even when you start +a new image. +The command `docker exec -it jupyterhub bash` will spawn a root shell in your docker +container. You can **use the root shell to create system users in the container**. +These accounts will be used for authentication in JupyterHub's default configuration. +## Contributing +If you would like to contribute to the project, please read our +[contributor documentation](https://jupyter.readthedocs.io/en/latest/contributing/content-contributor.html) +and the [`CONTRIBUTING.md`](CONTRIBUTING.md). The `CONTRIBUTING.md` file +explains how to set up a development installation, how to run the test suite, +and how to contribute to documentation. +For a high-level view of the vision and next directions of the project, see the +[JupyterHub community roadmap](docs/source/contributing/roadmap.md). +### A note about platform support +JupyterHub is supported on Linux/Unix based systems. +JupyterHub officially **does not** support Windows. You may be able to use +JupyterHub on Windows if you use a Spawner and Authenticator that work on +Windows, but the JupyterHub defaults will not. Bugs reported on Windows will not +be accepted, and the test suite will not run on Windows. Small patches that fix +minor Windows compatibility issues (such as basic installation) **may** be accepted, +however. For Windows-based systems, we would recommend running JupyterHub in a +docker container or Linux VM. +[Additional Reference:](http://www.tornadoweb.org/en/stable/#installation) Tornado's documentation on Windows platform support +## License +We use a shared copyright model that enables all contributors to maintain the +copyright on their contributions. +All code is licensed under the terms of the [revised BSD license](./COPYING.md). +## Help and resources +We encourage you to ask questions and share ideas on the [Jupyter community forum](https://discourse.jupyter.org/). +You can also talk with us on our JupyterHub [Gitter](https://gitter.im/jupyterhub/jupyterhub) channel. +- [Reporting Issues](https://github.com/jupyterhub/jupyterhub/issues) +- [JupyterHub tutorial](https://github.com/jupyterhub/jupyterhub-tutorial) +- [Documentation for JupyterHub](https://jupyterhub.readthedocs.io/en/latest/) +- [Documentation for JupyterHub's REST API][rest api] +- [Documentation for Project Jupyter](http://jupyter.readthedocs.io/en/latest/index.html) +- [Project Jupyter website](https://jupyter.org) +- [Project Jupyter community](https://jupyter.org/community) %package help Summary: Development documents and examples for jupyterhub Provides: python3-jupyterhub-doc %description help -Please note that this repository is participating in a study into the sustainability of open source projects. Data will be gathered about this repository for approximately the next 12 months, starting from 2021-06-11. -Data collected will include the number of contributors, number of PRs, time taken to close/merge these PRs, and issues closed. -For more information, please visit +# [JupyterHub](https://github.com/jupyterhub/jupyterhub) +[](https://pypi.python.org/pypi/jupyterhub) +[](https://anaconda.org/conda-forge/jupyterhub) +[](https://jupyterhub.readthedocs.org/en/latest/) +[](https://github.com/jupyterhub/jupyterhub/actions) +[](https://hub.docker.com/r/jupyterhub/jupyterhub/tags) +[](https://codecov.io/gh/jupyterhub/jupyterhub) +[](https://github.com/jupyterhub/jupyterhub/issues) +[](https://discourse.jupyter.org/c/jupyterhub) +[](https://gitter.im/jupyterhub/jupyterhub) +With [JupyterHub](https://jupyterhub.readthedocs.io) you can create a +**multi-user Hub** that spawns, manages, and proxies multiple instances of the +single-user [Jupyter notebook](https://jupyter-notebook.readthedocs.io) +server. +[Project Jupyter](https://jupyter.org) created JupyterHub to support many +users. The Hub can offer notebook servers to a class of students, a corporate +data science workgroup, a scientific research project, or a high-performance +computing group. +## Technical overview +Three main actors make up JupyterHub: +- multi-user **Hub** (tornado process) +- configurable http **proxy** (node-http-proxy) +- multiple **single-user Jupyter notebook servers** (Python/Jupyter/tornado) +Basic principles for operation are: +- Hub launches a proxy. +- The Proxy forwards all requests to Hub by default. +- Hub handles login and spawns single-user servers on demand. +- Hub configures proxy to forward URL prefixes to the single-user notebook + servers. +JupyterHub also provides a +[REST API][] +for administration of the Hub and its users. +[rest api]: https://jupyterhub.readthedocs.io/en/latest/reference/rest-api.html +## Installation +### Check prerequisites +- A Linux/Unix based system +- [Python](https://www.python.org/downloads/) 3.6 or greater +- [nodejs/npm](https://www.npmjs.com/) + - If you are using **`conda`**, the nodejs and npm dependencies will be installed for + you by conda. + - If you are using **`pip`**, install a recent version (at least 12.0) of + [nodejs/npm](https://docs.npmjs.com/getting-started/installing-node). +- If using the default PAM Authenticator, a [pluggable authentication module (PAM)](https://en.wikipedia.org/wiki/Pluggable_authentication_module). +- TLS certificate and key for HTTPS communication +- Domain name +### Install packages +#### Using `conda` +To install JupyterHub along with its dependencies including nodejs/npm: +```bash +conda install -c conda-forge jupyterhub +``` +If you plan to run notebook servers locally, install JupyterLab or Jupyter notebook: +```bash +conda install jupyterlab +conda install notebook +``` +#### Using `pip` +JupyterHub can be installed with `pip`, and the proxy with `npm`: +```bash +npm install -g configurable-http-proxy +python3 -m pip install jupyterhub +``` +If you plan to run notebook servers locally, you will need to install +[JupyterLab or Jupyter notebook](https://jupyter.readthedocs.io/en/latest/install.html): + python3 -m pip install --upgrade jupyterlab + python3 -m pip install --upgrade notebook +### Run the Hub server +To start the Hub server, run the command: + jupyterhub +Visit `http://localhost:8000` in your browser, and sign in with your system username and password. +_Note_: To allow multiple users to sign in to the server, you will need to +run the `jupyterhub` command as a _privileged user_, such as root. +The [wiki](https://github.com/jupyterhub/jupyterhub/wiki/Using-sudo-to-run-JupyterHub-without-root-privileges) +describes how to run the server as a _less privileged user_, which requires +more configuration of the system. +## Configuration +The [Getting Started](https://jupyterhub.readthedocs.io/en/latest/tutorial/index.html#getting-started) section of the +documentation explains the common steps in setting up JupyterHub. +The [**JupyterHub tutorial**](https://github.com/jupyterhub/jupyterhub-tutorial) +provides an in-depth video and sample configurations of JupyterHub. +### Create a configuration file +To generate a default config file with settings and descriptions: + jupyterhub --generate-config +### Start the Hub +To start the Hub on a specific url and port `10.0.1.2:443` with **https**: + jupyterhub --ip 10.0.1.2 --port 443 --ssl-key my_ssl.key --ssl-cert my_ssl.cert +### Authenticators +| Authenticator | Description | +| ---------------------------------------------------------------------------- | ------------------------------------------------- | +| PAMAuthenticator | Default, built-in authenticator | +| [OAuthenticator](https://github.com/jupyterhub/oauthenticator) | OAuth + JupyterHub Authenticator = OAuthenticator | +| [ldapauthenticator](https://github.com/jupyterhub/ldapauthenticator) | Simple LDAP Authenticator Plugin for JupyterHub | +| [kerberosauthenticator](https://github.com/jupyterhub/kerberosauthenticator) | Kerberos Authenticator Plugin for JupyterHub | +### Spawners +| Spawner | Description | +| -------------------------------------------------------------- | -------------------------------------------------------------------------- | +| LocalProcessSpawner | Default, built-in spawner starts single-user servers as local processes | +| [dockerspawner](https://github.com/jupyterhub/dockerspawner) | Spawn single-user servers in Docker containers | +| [kubespawner](https://github.com/jupyterhub/kubespawner) | Kubernetes spawner for JupyterHub | +| [sudospawner](https://github.com/jupyterhub/sudospawner) | Spawn single-user servers without being root | +| [systemdspawner](https://github.com/jupyterhub/systemdspawner) | Spawn single-user notebook servers using systemd | +| [batchspawner](https://github.com/jupyterhub/batchspawner) | Designed for clusters using batch scheduling software | +| [yarnspawner](https://github.com/jupyterhub/yarnspawner) | Spawn single-user notebook servers distributed on a Hadoop cluster | +| [wrapspawner](https://github.com/jupyterhub/wrapspawner) | WrapSpawner and ProfilesSpawner enabling runtime configuration of spawners | +## Docker +A starter [**docker image for JupyterHub**](https://hub.docker.com/r/jupyterhub/jupyterhub/) +gives a baseline deployment of JupyterHub using Docker. +**Important:** This `jupyterhub/jupyterhub` image contains only the Hub itself, +with no configuration. In general, one needs to make a derivative image, with +at least a `jupyterhub_config.py` setting up an Authenticator and/or a Spawner. +To run the single-user servers, which may be on the same system as the Hub or +not, Jupyter Notebook version 4 or greater must be installed. +The JupyterHub docker image can be started with the following command: + docker run -p 8000:8000 -d --name jupyterhub jupyterhub/jupyterhub jupyterhub +This command will create a container named `jupyterhub` that you can +**stop and resume** with `docker stop/start`. +The Hub service will be listening on all interfaces at port 8000, which makes +this a good choice for **testing JupyterHub on your desktop or laptop**. +If you want to run docker on a computer that has a public IP then you should +(as in MUST) **secure it with ssl** by adding ssl options to your docker +configuration or by using an ssl enabled proxy. +[Mounting volumes](https://docs.docker.com/engine/admin/volumes/volumes/) will +allow you to **store data outside the docker image (host system) so it will be persistent**, even when you start +a new image. +The command `docker exec -it jupyterhub bash` will spawn a root shell in your docker +container. You can **use the root shell to create system users in the container**. +These accounts will be used for authentication in JupyterHub's default configuration. +## Contributing +If you would like to contribute to the project, please read our +[contributor documentation](https://jupyter.readthedocs.io/en/latest/contributing/content-contributor.html) +and the [`CONTRIBUTING.md`](CONTRIBUTING.md). The `CONTRIBUTING.md` file +explains how to set up a development installation, how to run the test suite, +and how to contribute to documentation. +For a high-level view of the vision and next directions of the project, see the +[JupyterHub community roadmap](docs/source/contributing/roadmap.md). +### A note about platform support +JupyterHub is supported on Linux/Unix based systems. +JupyterHub officially **does not** support Windows. You may be able to use +JupyterHub on Windows if you use a Spawner and Authenticator that work on +Windows, but the JupyterHub defaults will not. Bugs reported on Windows will not +be accepted, and the test suite will not run on Windows. Small patches that fix +minor Windows compatibility issues (such as basic installation) **may** be accepted, +however. For Windows-based systems, we would recommend running JupyterHub in a +docker container or Linux VM. +[Additional Reference:](http://www.tornadoweb.org/en/stable/#installation) Tornado's documentation on Windows platform support +## License +We use a shared copyright model that enables all contributors to maintain the +copyright on their contributions. +All code is licensed under the terms of the [revised BSD license](./COPYING.md). +## Help and resources +We encourage you to ask questions and share ideas on the [Jupyter community forum](https://discourse.jupyter.org/). +You can also talk with us on our JupyterHub [Gitter](https://gitter.im/jupyterhub/jupyterhub) channel. +- [Reporting Issues](https://github.com/jupyterhub/jupyterhub/issues) +- [JupyterHub tutorial](https://github.com/jupyterhub/jupyterhub-tutorial) +- [Documentation for JupyterHub](https://jupyterhub.readthedocs.io/en/latest/) +- [Documentation for JupyterHub's REST API][rest api] +- [Documentation for Project Jupyter](http://jupyter.readthedocs.io/en/latest/index.html) +- [Project Jupyter website](https://jupyter.org) +- [Project Jupyter community](https://jupyter.org/community) %prep -%autosetup -n jupyterhub-3.1.1 +%autosetup -n jupyterhub-4.0.0 %build %py3_build @@ -103,5 +571,5 @@ mv %{buildroot}/doclist.lst . %{_docdir}/* %changelog -* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 3.1.1-1 +* Fri Apr 21 2023 Python_Bot <Python_Bot@openeuler.org> - 4.0.0-1 - Package Spec generated @@ -1 +1 @@ -f967d3dfe52194ab4b9671d5add938d5 jupyterhub-3.1.1.tar.gz +0fd7f9bcdd5025fe3d106708d82ed606 jupyterhub-4.0.0.tar.gz |