From 4d14dd4fa5ec023a1e549d68dad4640b03e125ab Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Fri, 14 May 2021 17:45:29 -0500 Subject: [PATCH 1/9] drop apache --- roles/lokole/tasks/install.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/roles/lokole/tasks/install.yml b/roles/lokole/tasks/install.yml index 01fb9a716..bc97ad982 100644 --- a/roles/lokole/tasks/install.yml +++ b/roles/lokole/tasks/install.yml @@ -2,14 +2,14 @@ # https://github.com/iiab/iiab/blob/master/roles/httpd/templates/refresh-wiki-docs.sh#L51-L52 -- name: "Set 'apache_install: True' and 'apache_enabled: True'" - set_fact: - apache_install: True - apache_enabled: True +#- name: "Set 'apache_install: True' and 'apache_enabled: True'" +# set_fact: +# apache_install: True +# apache_enabled: True -- name: APACHE - run 'httpd' role - include_role: - name: httpd +#- name: APACHE - run 'httpd' role +# include_role: +# name: httpd - name: "Install 8 packages for Lokole: python3, python3-pip, python3-venv, python3-dev, python3-bcrypt, libffi-dev, libssl-dev, libopenjp2-7" From 1942ea206abcc6dff84e0e30e99ce823cb2884da Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Fri, 14 May 2021 18:07:52 -0500 Subject: [PATCH 2/9] nginx config file --- roles/lokole/templates/lokole-nginx.conf.j2 | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/roles/lokole/templates/lokole-nginx.conf.j2 b/roles/lokole/templates/lokole-nginx.conf.j2 index b6d793d53..08b6f7cef 100644 --- a/roles/lokole/templates/lokole-nginx.conf.j2 +++ b/roles/lokole/templates/lokole-nginx.conf.j2 @@ -1,3 +1,14 @@ -location {{ lokole_url }}/ { - proxy_pass http://127.0.0.1:{{ apache_port }}{{ lokole_url }}/; +location = {{ lokole_url }}/favicon.ico { + alias /library/lokole/venv/lib/python3.8/site-packages/opwen_email_client/webapp/static/favicon.ico; +} + +location ~ ^/{{ lokole_url }}/static/(.*)$ { + alias /library/lokole/venv/lib/python3.8/site-packages/opwen_email_client/webapp/static/$1; +} + +location /{{ lokole_url }}/ { + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass http://unix:/home/lokole/state/lokole_gunicorn.sock; } From a7811787fa7bf1e5c6696dd4e833220340d6c94f Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Fri, 14 May 2021 18:17:23 -0500 Subject: [PATCH 3/9] export variables --- roles/lokole/templates/webapp_secrets.sh.j2 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/roles/lokole/templates/webapp_secrets.sh.j2 b/roles/lokole/templates/webapp_secrets.sh.j2 index 1f3c38566..18471d95b 100644 --- a/roles/lokole/templates/webapp_secrets.sh.j2 +++ b/roles/lokole/templates/webapp_secrets.sh.j2 @@ -1,6 +1,7 @@ -export OPWEN_SIM_TYPE='LocalOnly' -export OPWEN_STATE_DIRECTORY='{{lokole_run_directory}}' +export OPWEN_SIM_TYPE='{{ lokole_sim_type }}' +export OPWEN_STATE_DIRECTORY='{{ lokole_run_directory }}' +export OPWEN_APP_ROOT='{{ lokole_url }}' +export OPWEN_MAX_UPLOAD_SIZE_MB=10 +export OPWEN_SYNC_SCHEDULE='1,16,31,46 * * * *' export OPWEN_SESSION_KEY='{{ lookup('password', '/dev/null chars=ascii_letters,digits,_ length=32') }}' export OPWEN_PASSWORD_SALT='{{ lookup('password', '/dev/null chars=ascii_letters,digits,_ length=16') }}' -export OPWEN_CLIENT_NAME='{{ iiab_hostname }}' -export OPWEN_ROOT_DOMAIN='{{ iiab_domain }}' From e87135a3e3cf01bf4dd648819581b51a74e62ad3 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Fri, 14 May 2021 18:17:56 -0500 Subject: [PATCH 4/9] lokole_sim_type --- roles/lokole/defaults/main.yml | 9 ++++----- vars/local_vars_big.yml | 1 + vars/local_vars_medium.yml | 1 + vars/local_vars_min.yml | 1 + 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/roles/lokole/defaults/main.yml b/roles/lokole/defaults/main.yml index 9555e6f53..d1dd5ac8a 100644 --- a/roles/lokole/defaults/main.yml +++ b/roles/lokole/defaults/main.yml @@ -18,11 +18,10 @@ lokole_install_path: "{{ content_base }}/lokole" # /library/lokole lokole_venv: "{{ lokole_install_path }}/venv" # /library/lokole/venv # Info needed to run Lokole: - lokole_user: lokole -lokole_run_directory: "/home/{{ lokole_user }}/state" - lokole_url: /lokole -lokole_full_url: "http://{{ iiab_hostname }}.{{ iiab_domain }}{{ lokole_url }}" # http://box.lan/lokole - +lokole_run_directory: "/home/{{ lokole_user }}/state" lokole_domain_socket: "{{ lokole_run_directory }}/lokole_gunicorn.sock" +lokole_sim_type: LocalOnly + +lokole_full_url: "http://{{ iiab_hostname }}.{{ iiab_domain }}{{ lokole_url }}" # http://box.lan/lokole diff --git a/vars/local_vars_big.yml b/vars/local_vars_big.yml index e9fe79195..08db73df3 100644 --- a/vars/local_vars_big.yml +++ b/vars/local_vars_big.yml @@ -260,6 +260,7 @@ jupyterhub_enabled: True # Lokole (email for rural communities) from https://ascoderu.ca lokole_install: True lokole_enabled: True +#lokole_sim_type: Ethernet mediawiki_install: True mediawiki_enabled: True diff --git a/vars/local_vars_medium.yml b/vars/local_vars_medium.yml index e201b0669..b15b3ec09 100644 --- a/vars/local_vars_medium.yml +++ b/vars/local_vars_medium.yml @@ -260,6 +260,7 @@ jupyterhub_enabled: False # Lokole (email for rural communities) from https://ascoderu.ca lokole_install: False lokole_enabled: False +#lokole_sim_type: Ethernet mediawiki_install: False mediawiki_enabled: False diff --git a/vars/local_vars_min.yml b/vars/local_vars_min.yml index db25fa66d..18486fa7f 100644 --- a/vars/local_vars_min.yml +++ b/vars/local_vars_min.yml @@ -260,6 +260,7 @@ jupyterhub_enabled: False # Lokole (email for rural communities) from https://ascoderu.ca lokole_install: False lokole_enabled: False +#lokole_sim_type: Ethernet mediawiki_install: False mediawiki_enabled: False From f5248302b51bc9421095240182fd1d3f44bba8f8 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Fri, 14 May 2021 18:39:09 -0500 Subject: [PATCH 5/9] dual role --- roles/lokole/tasks/main.yml | 2 +- roles/nginx/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/lokole/tasks/main.yml b/roles/lokole/tasks/main.yml index 81ad6cfe2..111844c69 100644 --- a/roles/lokole/tasks/main.yml +++ b/roles/lokole/tasks/main.yml @@ -56,7 +56,7 @@ #- name: Enable/Disable/Restart Apache if primary - name: SHIM FOR NOW SO ALWAYS DO THE...Enable/Disable/Restart Apache include_tasks: apache.yml - #when: not nginx_enabled + when: not nginx_enabled - name: Enable/Disable/Restart NGINX if primary include_tasks: nginx.yml diff --git a/roles/nginx/README.md b/roles/nginx/README.md index d3d462628..805ee65bd 100644 --- a/roles/nginx/README.md +++ b/roles/nginx/README.md @@ -27,6 +27,7 @@ * gitea * kiwix * kolibri + * lokole * mediawiki * munin * nextcloud @@ -35,7 +36,6 @@ 3. These support Apache but ***NOT*** "Native" NGINX. They use a "Shim" to [proxy_pass](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/) from NGINX to Apache on port 8090. See [roles/3-base-server/tasks/main.yml#L11](../3-base-server/tasks/main.yml#L11) for a list of IIAB Apps/Services that auto-enable Apache. * elgg - * lokole * moodle * nodered From 2b505ae4045d5f6c6ae73f1981d59a15d174aa4e Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Fri, 14 May 2021 18:40:34 -0500 Subject: [PATCH 6/9] dual role2 --- roles/lokole/tasks/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/lokole/tasks/main.yml b/roles/lokole/tasks/main.yml index 111844c69..9f186a60e 100644 --- a/roles/lokole/tasks/main.yml +++ b/roles/lokole/tasks/main.yml @@ -53,8 +53,8 @@ - celery - lokole -#- name: Enable/Disable/Restart Apache if primary -- name: SHIM FOR NOW SO ALWAYS DO THE...Enable/Disable/Restart Apache +#- name: SHIM FOR NOW SO ALWAYS DO THE...Enable/Disable/Restart Apache +- name: Enable/Disable/Restart Apache if primary include_tasks: apache.yml when: not nginx_enabled From 787f12c46891b48421eb24c963f2ecfdd8f05f5a Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Fri, 14 May 2021 18:51:29 -0500 Subject: [PATCH 7/9] python_ver --- roles/lokole/templates/lokole-nginx.conf.j2 | 4 ++-- vars/debian-10.yml | 1 + vars/debian-11.yml | 1 + vars/linuxmint-20.yml | 1 + vars/ubuntu-20.yml | 1 + vars/ubuntu-21.yml | 1 + 6 files changed, 7 insertions(+), 2 deletions(-) diff --git a/roles/lokole/templates/lokole-nginx.conf.j2 b/roles/lokole/templates/lokole-nginx.conf.j2 index 08b6f7cef..d2831c6e3 100644 --- a/roles/lokole/templates/lokole-nginx.conf.j2 +++ b/roles/lokole/templates/lokole-nginx.conf.j2 @@ -1,9 +1,9 @@ location = {{ lokole_url }}/favicon.ico { - alias /library/lokole/venv/lib/python3.8/site-packages/opwen_email_client/webapp/static/favicon.ico; + alias /library/lokole/venv/lib/python{{ python_ver }}/site-packages/opwen_email_client/webapp/static/favicon.ico; } location ~ ^/{{ lokole_url }}/static/(.*)$ { - alias /library/lokole/venv/lib/python3.8/site-packages/opwen_email_client/webapp/static/$1; + alias /library/lokole/venv/lib/python{{ python_ver }}/site-packages/opwen_email_client/webapp/static/$1; } location /{{ lokole_url }}/ { diff --git a/vars/debian-10.yml b/vars/debian-10.yml index b8c1463cb..fcfa312c3 100644 --- a/vars/debian-10.yml +++ b/vars/debian-10.yml @@ -24,3 +24,4 @@ sshd_service: ssh php_version: 7.3 postgresql_version: 11 systemd_location: /lib/systemd/system +python_ver: 3.7 diff --git a/vars/debian-11.yml b/vars/debian-11.yml index 2a6ad0036..b0856f914 100644 --- a/vars/debian-11.yml +++ b/vars/debian-11.yml @@ -24,3 +24,4 @@ sshd_service: ssh php_version: 7.4 postgresql_version: 13 systemd_location: /lib/systemd/system +python_ver: 3.9 diff --git a/vars/linuxmint-20.yml b/vars/linuxmint-20.yml index 976bab04d..d3f963442 100644 --- a/vars/linuxmint-20.yml +++ b/vars/linuxmint-20.yml @@ -28,3 +28,4 @@ php_version: 7.4 # "postgresql_version: 11.2" failed (too detailed for /etc/systemd/system/postgresql-iiab.service on Ubuntu 19.04) postgresql_version: 12 systemd_location: /lib/systemd/system +python_ver: 3.8 diff --git a/vars/ubuntu-20.yml b/vars/ubuntu-20.yml index 0ac08155b..30b0d505d 100644 --- a/vars/ubuntu-20.yml +++ b/vars/ubuntu-20.yml @@ -26,3 +26,4 @@ php_version: 7.4 # "postgresql_version: 11.2" failed (too detailed for /etc/systemd/system/postgresql-iiab.service on Ubuntu 19.04) postgresql_version: 12 systemd_location: /lib/systemd/system +python_ver: 3.8 diff --git a/vars/ubuntu-21.yml b/vars/ubuntu-21.yml index 5f7dc7f33..4977f268f 100644 --- a/vars/ubuntu-21.yml +++ b/vars/ubuntu-21.yml @@ -26,3 +26,4 @@ php_version: 7.4 # 2020-04-22: Will Ubuntu 21.10 require 8.0? # "postgresql_version: 11.2" failed (too detailed for /etc/systemd/system/postgresql-iiab.service on Ubuntu 19.04) postgresql_version: 13 # 2020-04-22: Will Ubuntu 21.10 require 14? systemd_location: /lib/systemd/system +python_ver: 3.9 From 743db0a11f637195d19db4ef3e50fa2e2437cce0 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Fri, 14 May 2021 19:40:04 -0500 Subject: [PATCH 8/9] remove extra / --- roles/lokole/templates/lokole-nginx.conf.j2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/lokole/templates/lokole-nginx.conf.j2 b/roles/lokole/templates/lokole-nginx.conf.j2 index d2831c6e3..24d9adc7f 100644 --- a/roles/lokole/templates/lokole-nginx.conf.j2 +++ b/roles/lokole/templates/lokole-nginx.conf.j2 @@ -2,11 +2,11 @@ location = {{ lokole_url }}/favicon.ico { alias /library/lokole/venv/lib/python{{ python_ver }}/site-packages/opwen_email_client/webapp/static/favicon.ico; } -location ~ ^/{{ lokole_url }}/static/(.*)$ { +location ~ ^{{ lokole_url }}/static/(.*)$ { alias /library/lokole/venv/lib/python{{ python_ver }}/site-packages/opwen_email_client/webapp/static/$1; } -location /{{ lokole_url }}/ { +location {{ lokole_url }}/ { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; From 8eb713a1c806534edee95b796377ce92febe3345 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Fri, 14 May 2021 19:46:56 -0500 Subject: [PATCH 9/9] soft code --- roles/lokole/defaults/main.yml | 2 +- roles/lokole/templates/lokole-nginx.conf.j2 | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/roles/lokole/defaults/main.yml b/roles/lokole/defaults/main.yml index d1dd5ac8a..5e57203a4 100644 --- a/roles/lokole/defaults/main.yml +++ b/roles/lokole/defaults/main.yml @@ -20,7 +20,7 @@ lokole_venv: "{{ lokole_install_path }}/venv" # /library/lokole/venv # Info needed to run Lokole: lokole_user: lokole lokole_url: /lokole -lokole_run_directory: "/home/{{ lokole_user }}/state" +lokole_run_directory: /home/{{ lokole_user }}/state lokole_domain_socket: "{{ lokole_run_directory }}/lokole_gunicorn.sock" lokole_sim_type: LocalOnly diff --git a/roles/lokole/templates/lokole-nginx.conf.j2 b/roles/lokole/templates/lokole-nginx.conf.j2 index 24d9adc7f..1cd58eb80 100644 --- a/roles/lokole/templates/lokole-nginx.conf.j2 +++ b/roles/lokole/templates/lokole-nginx.conf.j2 @@ -1,14 +1,14 @@ location = {{ lokole_url }}/favicon.ico { - alias /library/lokole/venv/lib/python{{ python_ver }}/site-packages/opwen_email_client/webapp/static/favicon.ico; + alias {{ lokole_venv }}/lib/python{{ python_ver }}/site-packages/opwen_email_client/webapp/static/favicon.ico; } location ~ ^{{ lokole_url }}/static/(.*)$ { - alias /library/lokole/venv/lib/python{{ python_ver }}/site-packages/opwen_email_client/webapp/static/$1; + alias {{ lokole_venv }}/lib/python{{ python_ver }}/site-packages/opwen_email_client/webapp/static/$1; } location {{ lokole_url }}/ { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://unix:/home/lokole/state/lokole_gunicorn.sock; + proxy_pass http://unix:/{{ lokole_domain_socket }}; }