From 2d947ec243d7f4e0f93011952b11bebe322b4f2a Mon Sep 17 00:00:00 2001 From: Paul Brinkmeier Date: Tue, 3 May 2022 19:12:33 +0200 Subject: [PATCH] Add collaborative jupyter lab --- ansible/misc.yaml | 14 ++++++++++++++ docker/web/Caddyfile | 7 +++++++ docker/web/README.md | 6 +++++- docker/web/docker-compose.yaml | 11 +++++++++++ 4 files changed, 37 insertions(+), 1 deletion(-) diff --git a/ansible/misc.yaml b/ansible/misc.yaml index 8a48a0d..7772fa8 100644 --- a/ansible/misc.yaml +++ b/ansible/misc.yaml @@ -80,3 +80,17 @@ url: https://github.com/pbrinkmeier/tichy-clicker commit: 7dfb14183c765e3661fda84a7e89c2f73ca86f26 owner: paul + - name: Add jupyter user with UID 42000 + become: yes + ansible.builtin.user: + name: jupyter + uid: 42000 + state: present + - name: Add Notebooks folder + become: yes + ansible.builtin.file: + path: /home/jupyter/Notebooks + owner: jupyter + group: jupyter + state: directory + mode: 0755 diff --git a/docker/web/Caddyfile b/docker/web/Caddyfile index 5d06ff5..99742c4 100644 --- a/docker/web/Caddyfile +++ b/docker/web/Caddyfile @@ -17,3 +17,10 @@ codi.pbrinkmeier.de { git.pbrinkmeier.de { reverse_proxy gitlab:80 } + +jupyter.pbrinkmeier.de { + reverse_proxy jupyter:8888 + basicauth { + wug JDJhJDE0JEJrQXUzVWxFZ2JGVmx6YlZWTkpYdy5IMjRXdnZZdGw5SjZDcUg2ZWMxOEVjcEV6dWhIRmhD + } +} diff --git a/docker/web/README.md b/docker/web/README.md index ea90606..b949fc7 100644 --- a/docker/web/README.md +++ b/docker/web/README.md @@ -1,3 +1,7 @@ # web -Contains stuff exposed via HTTP(S) to the Internet, e.g. personal website, Wiki, etc. \ No newline at end of file +Contains stuff exposed via HTTP(S) to the Internet, e.g. personal website, Wiki, etc. + +## Jupyter + +The Docker image for Jupyter is built using Nix. That process is not part of the Ansible setup (yet). diff --git a/docker/web/docker-compose.yaml b/docker/web/docker-compose.yaml index d285764..5975c15 100644 --- a/docker/web/docker-compose.yaml +++ b/docker/web/docker-compose.yaml @@ -78,6 +78,17 @@ services: nginx['listen_port'] = 80 nginx['listen_https'] = false + jupyter: + image: ihaskell-docker:1.0 + # ports: + # - "8888:8888" + user: "42000" # Jupyter user UID (jupyter does not exist in container (TODO...)) + environment: + HOME: /Notebooks + volumes: + - /home/jupyter/Notebooks:/Notebooks + restart: always + volumes: caddy_data: caddy_config: