From 6b4ebe1881f98db3069368fbcc16a92ebca76bc7 Mon Sep 17 00:00:00 2001 From: Daniel M <daniel.q.mueller@stud.h-da.de> Date: Fri, 29 Oct 2021 17:26:39 +0200 Subject: [PATCH] Add tasks --- local.yml | 37 +++++++++++++-------- roles/jupyter-lab/files/jupyter.service | 15 +++++++++ roles/jupyter-lab/tasks/main.yml | 43 +++++++++++++++++++++++-- roles/misc-applications/tasks/main.yml | 4 +-- roles/ml-python-packages/tasks/main.yml | 38 ++++++++++++++++++++-- 5 files changed, 117 insertions(+), 20 deletions(-) create mode 100644 roles/jupyter-lab/files/jupyter.service diff --git a/local.yml b/local.yml index 23019a8..1197008 100644 --- a/local.yml +++ b/local.yml @@ -1,14 +1,23 @@ ---- -- hosts: localhost - pre_tasks: - - name: Upgrade packages - become: true - apt: - upgrade: true - update_cache: true - force_apt_get: true - - roles: - - jupyter-lab - - ml-python-packages - - misc-applications +--- +- hosts: localhost + pre_tasks: + # - name: Upgrade packages + # become: true + # apt: + # upgrade: true + # update_cache: true + # force_apt_get: true + + # - name: Install pip3 + # become: true + # apt: + # update_cache: true + # name: + # - python3-pip + # - libffi-dev # This is needed for jupyter on aarch64 to compile its C backend + # state: present + + roles: + - jupyter-lab + - ml-python-packages + - misc-applications diff --git a/roles/jupyter-lab/files/jupyter.service b/roles/jupyter-lab/files/jupyter.service new file mode 100644 index 0000000..5b44a74 --- /dev/null +++ b/roles/jupyter-lab/files/jupyter.service @@ -0,0 +1,15 @@ +[Unit] +Description=Jupyter Lab + +[Service] +Type=simple +PIDFile=/run/jupyter.pid +# Password: [empty string] +ExecStart=/usr/bin/python3 -m jupyterlab --ip="0.0.0.0" --notebook-dir=/home/pi/notebooks --no-browser --NotebookApp.password='sha1:9a2d316959ac:843b251c27024afb46174ce40ce0ebebcf29217b' +User=pi +Group=pi +Restart=always +RestartSec=10 + +[Install] +WantedBy=multi-user.target diff --git a/roles/jupyter-lab/tasks/main.yml b/roles/jupyter-lab/tasks/main.yml index 7da5b80..6ae98f2 100644 --- a/roles/jupyter-lab/tasks/main.yml +++ b/roles/jupyter-lab/tasks/main.yml @@ -1,2 +1,41 @@ ---- -# roles/jupyter-lab +--- +# roles/jupyter-lab + +- name: Notebooks dir + file: + path: /home/pi/notebooks + state: directory + owner: pi + group: pi + +# This should be optimized so that only one check / install is needed +# Still we should make sure that pip3 is actually installed before trying to use it +- name: Install dependecies + become: true + apt: + name: + - python3-pip + state: present + update_cache: true + +- name: Install jupyter-lab + become: true + pip: + executable: pip3 + name: jupyterlab + state: present + +- name: Install systemd service + become: true + copy: + src: files/jupyter.service + dest: /etc/systemd/system/jupyter.service + mode: '0644' + +- name: Start Jupyter-Lab service + become: true + systemd: + name: jupyter + state: started + enabled: true + daemon_reload: true diff --git a/roles/misc-applications/tasks/main.yml b/roles/misc-applications/tasks/main.yml index 633a707..3903dcf 100644 --- a/roles/misc-applications/tasks/main.yml +++ b/roles/misc-applications/tasks/main.yml @@ -1,2 +1,2 @@ ---- -# roles/misc-applications +--- +# roles/misc-applications diff --git a/roles/ml-python-packages/tasks/main.yml b/roles/ml-python-packages/tasks/main.yml index 9ad5a51..359f487 100644 --- a/roles/ml-python-packages/tasks/main.yml +++ b/roles/ml-python-packages/tasks/main.yml @@ -1,2 +1,36 @@ ---- -# roles/ml-python-packages +--- +# roles/ml-python-packages + +# This should be optimized so that only one check / install for pip3 is needed +# Still we should make sure that pip3 is actually installed before trying to use it +- name: Install dependecies + become: true + apt: + name: + - python3-pip + - libatlas-base-dev + state: present + update_cache: true + +- name: Remove conflicting apt packages + become: true + apt: + name: + - python3-pil + - python3-numpy + state: absent + +- name: Install ml python packages + become: true + pip: + executable: pip3 + name: + - numpy + - sklearn + - matplotlib + - pandas + - Pillow + # - torch + # - torchvision + # - fastai + state: present -- GitLab