docker-compose build
docker-compose run -d
Dostęp do JupyterHuba: https://{nazwa_hosta} (domyślnie port 80 HTTP jest wyłączony, przez co wymaga użycia HTTPS)
Przed pierwszym uruchomieniem wymagane jest skonfigurowanie środowiska. W tym celu należy edytować plik .env
a w nim zmienić wartości zmiennych środowiskowych.
Dodatkowo wymagane jest wgranie certyfikatów TLS do /app/proxy/certs/
(korzystając z nazewnictwa plików: cert-host-key.pem oraz cer-host.pem).
Traefik sam generuje certyfikaty TLS, więc nie jest wymagane ich wgranie. Konifugracja adresu email administratora dla którego jest generowany certyfikat w pliku /app/proxy/traefik.yml
Ustalenie administratora odbywa się w pliku /app/jupyterhub/jupyterhub_config.py
w zmiennej c.Authenticator.admin_users
. W celu ustawienia osoby z organizacji jako administratora należy dodać jej adres email do tej zmiennej. (np. [email protected])
W trakcie pracy
W celu rozdzielenia danych użytkowników na nauczycieli oraz studentów, system wykrywa przedrostek @stud.prz.edu.pl
oraz @prz.edu.pl
, a następnie dzieli użytkowników na dwie grupy. Odbywa się to w pliku /app/jupyterhub/config.py
, w funkcji MyDockerSpawner
.
- Przygotowanie pliku docker-compose.yml
- Uporządkowanie struktury projektu
- Przygodowanie dla uwierzytelniania CAS
- Przygotowanie pliku juptyerhub_config.py
- Zmiana katalogu z danymi użytkowników
- Dodanie obsługi kursów
- Problem z uprawnieniami do katalogów użytkowników Tu występuje taki sam błąd
- Przygotowanie pliku traefik.yml
- Dodanie obsługi HTTPS
- Konfiguracja certyfikatów
- Automatyczne generowanie certyfikatów
- Naprawa braku uprawnień przy tworzeniu nowego notebooka
- Dodanie jądra Julii i R
- Dodanie obsługi C++
- Przygotowanie pliku z paczkami pythona
JupyterHub
├── .env
├── README.md
├── docker-compose.yml
├── app
│ ├── jupyterhub
│ │ ├── Dockerfile
| | └── jupyterhub_config.py
│ |── jupyterlab
│ | └── Dockerfile
| |── proxy
│ | |── Dockerfile
│ | |── traefik.yml
Wersja: jupyterhub/jupyterhub:3.1.1
(Znajduje się w /app/jupyterhub/Dockerfile oraz konfiguracja w /app/jupyterhub/jupyterhub_config.py)
Wersja: traefik:v2.9
Konfiguracja pliku TLS, musi znajdować się w osobnym pliku!, w tym przypadku jest to tls.yml
(Znajduje się w /app/proxy/Dockerfile oraz konfiguracja w /app/proxy/traefik.yml)
Wersja: jupyter/scipy-notebook:hub-3.1.1
(Znajduje się w /app/jupyterlab/Dockerfile)
Building Docker image for Jupyter Notebook
Wersja: jhubauthenticators==1.0.2
(Znajduje się w /app/jupyterhub/Dockerfile oraz konfiguracja w /app/jupyterhub/jupyterhub_config.py)
Wersja 1.2.1
(Znajduje się w /app/jupyterhub/Dockerfile oraz konfiguracja w /app/jupyterhub/jupyterhub_config.py)
JupyterHub Idle Culler Service
Konfiguracja automatycznego generowania certyfikatów TLS, oparta na wykorzystaniu Let's Encrypt.