diff --git a/roles/nodejs/tasks/install.yml b/roles/nodejs/tasks/install.yml index 33039d899..c3ff5f98b 100644 --- a/roles/nodejs/tasks/install.yml +++ b/roles/nodejs/tasks/install.yml @@ -7,11 +7,12 @@ # 2019-07-04: FOR A SOMEWHAT MORE MODERN "VERSION DETECTOR" SEE: # github.com/iiab/iiab/blob/master/roles/nextcloud/tasks/install.yml#L1-L40 -- name: Try to run 'nodejs -v' to get Node.js version - # 'node -v' doesn't work with older versions e.g. Ubuntu 16.04's nodejs 4.2.6 +- name: Try to run 'node -v' to get Node.js version + # 'node -v' doesn't work with older versions e.g. Ubuntu 16.04's Node.js 4.2.6 + # 'nodejs -v' doesn't work with newer versions e.g. Node.js 16.x # Both below convert v10.15.1 to 10.x, but this is safer: (removes non-digits) - shell: nodejs -v | sed 's/[^0-9]*//' | sed 's/[^0-9].*/.x/' - #shell: nodejs -v | sed 's/^[vV]//' | sed 's/\..*/.x/' + shell: node -v | sed 's/[^0-9]*//' | sed 's/[^0-9].*/.x/' + #shell: node -v | sed 's/^[vV]//' | sed 's/\..*/.x/' register: nodejs_version_installed #- debug: @@ -32,12 +33,13 @@ # /etc/iiab/local_vars.yml -- then re-run this IIAB installer. # when: nodejs_version_installed is defined and nodejs_version_installed.stdout != nodejs_version and nodejs_version_installed.stderr == "" +# 2021-08-04: Regardless, nodesource.com (below) overwrites /etc/apt/sources.list.d/nodesource.list # Forces < 16.x or > 16.x to be removed, ignored if file is absent -- name: Remove /etc/apt/sources.list.d/nodesource.list if nodejs_version_installed.stdout is not {{ nodejs_version }} - file: - state: absent - path: /etc/apt/sources.list.d/nodesource.list - when: nodejs_version_installed is defined and nodejs_version_installed.stdout != nodejs_version and nodejs_version_installed.stdout != "" +#- name: Remove /etc/apt/sources.list.d/nodesource.list if nodejs_version_installed.stdout is not {{ nodejs_version }} +# file: +# state: absent +# path: /etc/apt/sources.list.d/nodesource.list +# when: nodejs_version_installed is defined and nodejs_version_installed.stdout != nodejs_version and nodejs_version_installed.stdout != "" # BRUTAL but ensures consistency across OS's / distros like Raspbian Desktop & Ubermix that often include an older version of Node.js # Forces < 16.x or > 16.x to be uninstalled @@ -45,9 +47,9 @@ package: name: nodejs state: absent - when: nodejs_version_installed is defined and nodejs_version_installed.stdout != nodejs_version and nodejs_version_installed.stdout != "" + when: nodejs_version_installed is defined and nodejs_version_installed.stdout != nodejs_version + #when: nodejs_version_installed is defined and nodejs_version_installed.stdout != nodejs_version and nodejs_version_installed.stdout != "" -# Forces == 16.x - name: Warn if Node.js {{ nodejs_version}} already installed & might be updated debug: msg: "WARN: YOUR Node.js {{ nodejs_version }} MIGHT NOW BE UPDATED USING nodesource.com" @@ -65,12 +67,12 @@ # state: absent # when: internet_available and is_debuntu -- name: Set up Node.js {{ nodejs_version }} apt sources +- name: Run 'curl -sL https://deb.nodesource.com/setup_{{ nodejs_version }} | bash -' to overwrite /etc/apt/sources.list.d/nodesource.list shell: curl -sL https://deb.nodesource.com/setup_{{ nodejs_version }} | bash - - args: - warn: no - creates: /etc/apt/sources.list.d/nodesource.list - when: internet_available + #args: + # warn: no + # creates: /etc/apt/sources.list.d/nodesource.list + #when: internet_available # 2021-08-04: Better to fail & notify implementer! #when: internet_available and (is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17) # NOT NEC TO TEST FOR is_raspbian_8 OR is_raspbian_9 AS /opt/iiab/iiab/vars/.yml # DEFINES THESE AS SUBSETS OF is_debian_8 OR is_debian_9 (FOR NOW!) @@ -86,15 +88,9 @@ name: nodejs state: latest #state: present - when: internet_available + #when: internet_available # 2021-08-04: Better to fail & notify implementer! #when: internet_available and (is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17) -# - name: Set up & install Node.js {{ nodejs_version }} which includes /usr/bin/npm (redhat) -# shell: curl -sL https://rpm.nodesource.com/setup_{{ nodejs_version }} | bash - -# args: -# warn: no -# when: internet_available and is_redhat - # 2018-07-14: BOTH STEPS ABOVE TAKE TIME, but Raspbian (apt offers npm # 1.4.21) & Debian 9 (apt offers no npm!) STILL NEED the above diff --git a/roles/openvpn/tasks/install.yml b/roles/openvpn/tasks/install.yml index 4276c19b6..f876ecc99 100644 --- a/roles/openvpn/tasks/install.yml +++ b/roles/openvpn/tasks/install.yml @@ -1,18 +1,12 @@ -- name: "Install packages: nmap, openvpn, sudo" +- name: "Install packages: ncat, nmap, openvpn, sudo" package: name: + - ncat # Newer versions of NMap do not include NCat, needed to announce /etc/iiab/openvpn_handle (if Debian > 9 or Ubuntu > 18) - nmap - openvpn - sudo # (1) Should be installed prior to installing IIAB, (2) Can also be installed by 1-prep here, (3) Is definitely installed by 1-prep's roles/iiab-admin/tasks/sudo-prereqs.yml, (4) Used to be installed by roles/2-common/tasks/packages.yml (but that's too late!) state: present -# Newer versions of NMap do not include NCat, needed to announce /etc/iiab/openvpn_handle -- name: Install Ncat package (if Debian > 9 or Ubuntu > 18) - package: - name: ncat - state: present - when: is_debuntu and not (is_debian_8 or is_debian_9 or is_ubuntu_16 or is_ubuntu_17 or is_ubuntu_18) - - name: Install ssh public keys for remote support (if openvpn_install) lineinfile: line: "{{ item.pubkey }}" diff --git a/roles/pbx/tasks/asterisk.yml b/roles/pbx/tasks/asterisk.yml index 2048ccc8a..85a8c1386 100644 --- a/roles/pbx/tasks/asterisk.yml +++ b/roles/pbx/tasks/asterisk.yml @@ -2,10 +2,10 @@ #- name: Asterisk - Install dependencies # include: asterisk_dependencies.yml -- name: Asterisk - Download software to {{ downloads_dir }} +- name: Asterisk - Download {{ asterisk_url }}/{{ asterisk_src_file }} to {{ downloads_dir }} get_url: url: "{{ asterisk_url }}/{{ asterisk_src_file }}" - dest: "{{ downloads_dir }}/{{ asterisk_src_file }}" # e.g. /opt/iiab/downloads/asterisk-18-current.tar.gz + dest: "{{ downloads_dir }}" # e.g. /opt/iiab/downloads/asterisk-18-current.tar.gz timeout: "{{ download_timeout }}" when: internet_available @@ -16,7 +16,7 @@ - name: Asterisk - FAIL (force Ansible to exit) IF {{ downloads_dir }}/{{ asterisk_src_file }} doesn't exist fail: - msg: "{{ downloads_dir }}/{{ asterisk_src_file }} is REQUIRED in order to install." + msg: "{{ downloads_dir }}/{{ asterisk_src_file }} is REQUIRED to install Asterisk." when: not asterisk_src.stat.exists - name: Asterisk - Create install source dir {{ asterisk_src_dir }} @@ -33,6 +33,7 @@ extra_opts: [--strip-components=1] creates: "{{ asterisk_src_dir }}/Makefile" + # 2021-08-03: Asterisk's install_prereq script (stanza just below) installs # 'aptitude' regardless, within handle_debian() here: # https://github.com/asterisk/asterisk/blob/master/contrib/scripts/install_prereq#L262-L271 @@ -101,6 +102,7 @@ args: chdir: "{{ asterisk_src_dir }}" + - name: Asterisk - Ensure group 'asterisk' exists group: name: asterisk diff --git a/roles/pbx/tasks/freepbx.yml b/roles/pbx/tasks/freepbx.yml index 570da4bf1..586df3be6 100644 --- a/roles/pbx/tasks/freepbx.yml +++ b/roles/pbx/tasks/freepbx.yml @@ -1,10 +1,10 @@ - name: FreePBX - Install dependencies include: freepbx_dependencies.yml -- name: FreePBX - Download software to {{ downloads_dir }}/{{ freepbx_src_file }} +- name: FreePBX - Download {{ freepbx_url }}/{{ freepbx_src_file }} to {{ downloads_dir }} get_url: url: "{{ freepbx_url }}/{{ freepbx_src_file }}" - dest: "{{ downloads_dir }}/{{ freepbx_src_file }}" # e.g. /opt/iiab/downloads/freepbx-16.0-latest.tgz + dest: "{{ downloads_dir }}" # e.g. /opt/iiab/downloads/freepbx-16.0-latest.tgz timeout: "{{ download_timeout }}" when: internet_available @@ -15,15 +15,15 @@ - name: FreePBX - FAIL (force Ansible to exit) IF {{ downloads_dir }}/{{ freepbx_src_file }} doesn't exist fail: - msg: "{ downloads_dir }}/{{ freepbx_src_file }} is REQUIRED in order to install." + msg: "{{ downloads_dir }}/{{ freepbx_src_file }} is REQUIRED to install FreePBX." when: not freepbx_src.stat.exists -- name: FreePBX - Create install source dir {{ freepbx_src_dir }} +- name: FreePBX - Create source dir {{ freepbx_src_dir }} file: path: "{{ freepbx_src_dir }}" # /opt/iiab/freepbx state: directory -- name: FreePBX - Extract source +- name: FreePBX - Extract to source dir (root:root) unarchive: src: "{{ downloads_dir }}/{{ freepbx_src_file }}" dest: "{{ freepbx_src_dir }}" @@ -32,15 +32,18 @@ extra_opts: [--strip-components=1] creates: "{{ freepbx_src_dir }}/install" -- name: FreePBX - Patch FreePBX source - IIAB Bug 1685 - patch: - src: roles/pbx/templates/71-freepbx-framework.patch - dest: "{{ freepbx_src_dir }}/amp_conf/htdocs/admin/libraries/BMO/Framework.class.php" +# 2021-08-04: FreePBX 16 no longer needs this FreePBX 15 patch +# - name: FreePBX - Patch FreePBX source - IIAB Bug 1685 +# patch: +# src: roles/pbx/templates/71-freepbx-framework.patch +# dest: "{{ freepbx_src_dir }}/amp_conf/htdocs/admin/libraries/BMO/Framework.class.php" + +# 2021-08-04: FreePBX 16 no longer needs this FreePBX 15 patch +# - name: FreePBX - Patch FreePBX source - wants [] not {} +# patch: +# src: roles/pbx/templates/pbx.patch +# dest: "{{ freepbx_src_dir }}/amp_conf/htdocs/admin/libraries/Composer/vendor/neitanod/forceutf8/src/ForceUTF8/Encoding.php" -- name: FreePBX - Patch FreePBX source - wants [] not {} - patch: - src: roles/pbx/templates/pbx.patch - dest: "{{ freepbx_src_dir }}/amp_conf/htdocs/admin/libraries/Composer/vendor/neitanod/forceutf8/src/ForceUTF8/Encoding.php" - name: FreePBX - Disable & Stop 'asterisk' systemd service systemd: @@ -101,19 +104,17 @@ group: asterisk recurse: yes -- name: FreePBX - Install (just run once) - CAN TAKE 12 MIN OR LONGER! - command: ./start_asterisk start + +- name: FreePBX - 2-stage install (just run once) - CAN TAKE 12 MIN OR LONGER! + command: "{{ item }}" args: chdir: "{{ freepbx_src_dir }}" creates: "{{ freepbx_install_dir }}" + with_items: + - ./start_asterisk start + - ./install -n --webroot {{ freepbx_install_dir }} --dbuser {{ asterisk_db_user }} --dbpass {{ asterisk_db_password }} --dbname {{ asterisk_db_dbname }} --cdrdbname {{ asterisk_db_cdrdbname }} -- name: FreePBX - Install (just run once) - CAN TAKE 12 MIN OR LONGER! - command: ./install -n --webroot {{ freepbx_install_dir }} --dbuser {{ asterisk_db_user }} --dbpass {{ asterisk_db_password }} --dbname {{ asterisk_db_dbname }} --cdrdbname {{ asterisk_db_cdrdbname }} - args: - chdir: "{{ freepbx_src_dir }}" - creates: "{{ freepbx_install_dir }}" - -# 2021-08-02: FreePBX 16 seems to no longer need this FreePBX 15 patch? +# 2021-08-04: FreePBX 16 no longer needs this FreePBX 15 patch # - name: FreePBX - Patch FreePBX source - disable get_magic_quotes_gpc() # patch: # src: roles/pbx/templates/pbx2.patch @@ -124,11 +125,17 @@ src: odbc.ini.j2 dest: /etc/odbc.ini +- name: FreePBX - Install /etc/systemd/system/freepbx.service systemd unit file from template (root:root, 0644 by default) + template: + src: freepbx.service.j2 + dest: /etc/systemd/system/freepbx.service + + - name: FreePBX - Install /etc/apache2/sites-available/freepbx.conf from template ({{ apache_user }}:{{ apache_user }}, 0644 by default) template: src: freepbx.conf.j2 dest: /etc/apache2/sites-available/freepbx.conf - owner: "{{ apache_user }}" + owner: "{{ apache_user }}" # www-data group: "{{ apache_user }}" - name: FreePBX - Add directive "Listen {{ pbx_http_port }}" to /etc/apache2/ports.conf @@ -136,8 +143,3 @@ path: /etc/apache2/ports.conf line: "Listen {{ pbx_http_port }}" # insertafter: Listen 80 - -- name: FreePBX - Install /etc/systemd/system/freepbx.service systemd unit file from template (root:root, 0644 by default) - template: - src: freepbx.service.j2 - dest: /etc/systemd/system/freepbx.service diff --git a/vars/default_vars.yml b/vars/default_vars.yml index 2d062ef9d..75e2e3786 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -169,16 +169,6 @@ dnsmasq_enabled: True # Enable in local_vars.yml AFTER installing IIAB! Then run "cd /opt/iiab/iiab; ./iiab-network" dns_jail_enabled: False -# Python-based Captive Portal, that @m-anish & @jvonau experimented with in -# July 2018 (https://github.com/iiab/iiab/pull/870) and that @georgejhunt -# extensively later refined (PRs #1179, #1300, #1327, #2070). -captiveportal_install: True -captiveportal_enabled: False -captiveportal_port: 9090 -captiveportal_splash_page: / -# You might also want to set iiab_home_url (above!) -# In a pinch, disable Captive Portal using instructions in http://FAQ.IIAB.IO - # Bluetooth PAN access to IIAB server bluetooth_install: True bluetooth_enabled: False @@ -432,17 +422,6 @@ nextcloud_enabled: False # Uncomment the following line to end that: (might install an older Nextcloud!) # nextcloud_dl_url: http://d.iiab.io/packages/latest.tar.bz2 -# A full-featured PBX (for rural telephony, etc) based on Asterisk and FreePBX. -# Untested since Ubuntu 18.04, Debian 9 w/ Node.js 10.x. Experimental on RPi. -# If using PBX intensively, set nginx_high_php_limits further above. -pbx_install: False -pbx_enabled: False -asterisk_chan_dongle: False -pbx_signaling_ports_chan_sip: 5160:5161 -pbx_signaling_ports_chan_pjsip: 5060 -pbx_data_ports: 10000:20000 -pbx_http_port: 83 - # If using WordPress intensively, set nginx_high_php_limits further above. wordpress_install: False wordpress_enabled: False @@ -579,6 +558,16 @@ vnstat_enabled: False # 9-LOCAL-ADDONS +# Python-based Captive Portal, that @m-anish & @jvonau experimented with in +# July 2018 (https://github.com/iiab/iiab/pull/870) and that @georgejhunt +# extensively later refined (PRs #1179, #1300, #1327, #2070). +captiveportal_install: True +captiveportal_enabled: False +captiveportal_port: 9090 +captiveportal_splash_page: / +# You might also want to set iiab_home_url (above!) +# In a pinch, disable Captive Portal using instructions in http://FAQ.IIAB.IO + # 2020-09-24: BOTH VALUES BELOW ARE IGNORED as Yarn is installed on demand as a # dependency -- by Internet Archive yarn_install: False @@ -599,7 +588,20 @@ minetest_server_admin: Admin minetest_default_game: carbone-ng # only carbone-ng and minetest are supported minetest_flat_world: False -# Calibre E-Book Library +# Calibre-Web E-Book Library -- Alternative to Calibre, offers a clean/modern UX +calibreweb_install: False +calibreweb_enabled: False +calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019) +# http://box/books works. Add {box/libros, box/livres, box/livros, box/liv} etc? +calibreweb_url1: /books # For SHORT URL http://box/books (English) +calibreweb_url2: /libros # For SHORT URL http://box/libros (Spanish) +calibreweb_url3: /livres # For SHORT URL http://box/livres (French) +calibreweb_home: "{{ content_base }}/calibre-web" # /library/calibre-web + +# SUGGESTION: Calibre-Web can use Calibre's /usr/bin/ebook-convert program, so +# ALSO CONSIDER installing Calibre (below, if its graphical bloat is tolerable!) + +# Calibre E-Book Library -- https://calibre-ebook.com # WARNING: CALIBRE INSTALLS GRAPHICAL LIBRARIES SIMILAR TO X WINDOWS & OPENGL # ON (HEADLESS, SERVER, LITE) OS'S THAT DON'T ALREADY HAVE THESE INSTALLED. calibre_install: False @@ -616,18 +618,17 @@ calibre_port: 8080 calibre_web_path: calibre #NEEDS WORK: https://github.com/iiab/iiab/issues/529 # Avoid URL collisions w/ calibreweb_url1, calibreweb_url2, calibreweb_url3 below! -# WARNING: Calibre-Web (below) depends on Calibre's own /usr/bin/ebook-convert -# program, so we recommend you also install Calibre (above!) - -# Calibre-Web alternative to Calibre, offers a clean/modern UX -calibreweb_install: False -calibreweb_enabled: False -calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019) -# http://box/books works. Add {box/libros, box/livres, box/livros, box/liv} etc? -calibreweb_url1: /books # For SHORT URL http://box/books (English) -calibreweb_url2: /libros # For SHORT URL http://box/libros (Spanish) -calibreweb_url3: /livres # For SHORT URL http://box/livres (French) -calibreweb_home: "{{ content_base }}/calibre-web" # /library/calibre-web +# A full-featured PBX (for rural telephony, etc) based on Asterisk and FreePBX. +# REQUIRES PHP 7.4 e.g. Ubuntu 20.04, Debian 11 -- RaspiOS 11 might also work. +# INSTRUCTIONS: https://github.com/iiab/iiab/tree/master/roles/pbx#pbx-readme +# If using PBX intensively, investigate nginx_high_php_limits further above. +pbx_install: False +pbx_enabled: False +asterisk_chan_dongle: False +pbx_signaling_ports_chan_sip: 5160:5161 +pbx_signaling_ports_chan_pjsip: 5060 +pbx_data_ports: 10000:20000 +pbx_http_port: 83 # ============================================================================= diff --git a/vars/local_vars_big.yml b/vars/local_vars_big.yml index 2bcaf1691..22d231dbd 100644 --- a/vars/local_vars_big.yml +++ b/vars/local_vars_big.yml @@ -116,24 +116,11 @@ dnsmasq_enabled: True # Enable AFTER installing IIAB! Then run "cd /opt/iiab/iiab; ./iiab-network" dns_jail_enabled: False -# Python-based Captive Portal, that @m-anish & @jvonau experimented with in -# July 2018 (https://github.com/iiab/iiab/pull/870) and that @georgejhunt -# extensively later refined (PRs #1179, #1300, #1327, #2070). -captiveportal_install: True -captiveportal_enabled: False -captiveportal_splash_page: / -# You might also want to set iiab_home_url (above!) -# In a pinch, disable Captive Portal using instructions in http://FAQ.IIAB.IO - # Bluetooth PAN access to IIAB server bluetooth_install: True bluetooth_enabled: False bluetooth_term_enabled: False -# UNMAINTAINED as of October 2017: https://github.com/iiab/iiab/pull/382 -# wondershaper_install: False -# wondershaper_enabled: False - # 1-PREP @@ -289,13 +276,6 @@ nextcloud_enabled: True # Uncomment the following line to end that: (might install an older Nextcloud!) # nextcloud_dl_url: http://d.iiab.io/packages/latest.tar.bz2 -# A full-featured PBX (for rural telephony, etc) based on Asterisk and FreePBX. -# Untested since Ubuntu 18.04, Debian 9 w/ Node.js 10.x. Experimental on RPi. -# If using PBX intensively, set nginx_high_php_limits further above. -pbx_install: False -pbx_enabled: False -asterisk_chan_dongle: False - # If using WordPress intensively, set nginx_high_php_limits further above. wordpress_install: True wordpress_enabled: True @@ -377,6 +357,15 @@ vnstat_enabled: True # 9-LOCAL-ADDONS +# Python-based Captive Portal, that @m-anish & @jvonau experimented with in +# July 2018 (https://github.com/iiab/iiab/pull/870) and that @georgejhunt +# extensively later refined (PRs #1179, #1300, #1327, #2070). +captiveportal_install: True +captiveportal_enabled: False +captiveportal_splash_page: / +# You might also want to set iiab_home_url (above!) +# In a pinch, disable Captive Portal using instructions in http://FAQ.IIAB.IO + # Internet Archive Decentralized Web - create your own offline version box:4244 # (or http://box/archive) arising from digital library https://dweb.archive.org internetarchive_install: True @@ -386,7 +375,20 @@ internetarchive_enabled: True minetest_install: True minetest_enabled: True -# Calibre E-Book Library +# Calibre-Web E-Book Library -- Alternative to Calibre, offers a clean/modern UX +calibreweb_install: True +calibreweb_enabled: True +calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019) +# http://box/books works. Add {box/libros, box/livres, box/livros, box/liv} etc? +calibreweb_url1: /books # For SHORT URL http://box/books (English) +calibreweb_url2: /libros # For SHORT URL http://box/libros (Spanish) +calibreweb_url3: /livres # For SHORT URL http://box/livres (French) +calibreweb_home: /library/calibre-web # default_vars.yml uses: "{{ content_base }}/calibre-web" + +# SUGGESTION: Calibre-Web can use Calibre's /usr/bin/ebook-convert program, so +# ALSO CONSIDER installing Calibre (below, if its graphical bloat is tolerable!) + +# Calibre E-Book Library -- https://calibre-ebook.com # WARNING: CALIBRE INSTALLS GRAPHICAL LIBRARIES SIMILAR TO X WINDOWS & OPENGL # ON (HEADLESS, SERVER, LITE) OS'S THAT DON'T ALREADY HAVE THESE INSTALLED. calibre_install: False @@ -397,15 +399,10 @@ calibre_port: 8080 calibre_web_path: calibre #NEEDS WORK: https://github.com/iiab/iiab/issues/529 # Avoid URL collisions w/ calibreweb_url1, calibreweb_url2, calibreweb_url3 below! -# WARNING: Calibre-Web (below) depends on Calibre's own /usr/bin/ebook-convert -# program, so we recommend you also install Calibre (above!) - -# Calibre-Web alternative to Calibre, offers a clean/modern UX -calibreweb_install: True -calibreweb_enabled: True -calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019) -# http://box/books works. Add {box/libros, box/livres, box/livros, box/liv} etc? -calibreweb_url1: /books # For SHORT URL http://box/books (English) -calibreweb_url2: /libros # For SHORT URL http://box/libros (Spanish) -calibreweb_url3: /livres # For SHORT URL http://box/livres (French) -calibreweb_home: /library/calibre-web # default_vars.yml uses: "{{ content_base }}/calibre-web" +# A full-featured PBX (for rural telephony, etc) based on Asterisk and FreePBX. +# REQUIRES PHP 7.4 e.g. Ubuntu 20.04, Debian 11 -- RaspiOS 11 might also work. +# INSTRUCTIONS: https://github.com/iiab/iiab/tree/master/roles/pbx#pbx-readme +# If using PBX intensively, investigate nginx_high_php_limits further above. +pbx_install: False +pbx_enabled: False +asterisk_chan_dongle: False diff --git a/vars/local_vars_medium.yml b/vars/local_vars_medium.yml index 4506b6dd3..309d35c58 100644 --- a/vars/local_vars_medium.yml +++ b/vars/local_vars_medium.yml @@ -116,24 +116,11 @@ dnsmasq_enabled: True # Enable AFTER installing IIAB! Then run "cd /opt/iiab/iiab; ./iiab-network" dns_jail_enabled: False -# Python-based Captive Portal, that @m-anish & @jvonau experimented with in -# July 2018 (https://github.com/iiab/iiab/pull/870) and that @georgejhunt -# extensively later refined (PRs #1179, #1300, #1327, #2070). -captiveportal_install: True -captiveportal_enabled: False -captiveportal_splash_page: / -# You might also want to set iiab_home_url (above!) -# In a pinch, disable Captive Portal using instructions in http://FAQ.IIAB.IO - # Bluetooth PAN access to IIAB server bluetooth_install: True bluetooth_enabled: False bluetooth_term_enabled: False -# UNMAINTAINED as of October 2017: https://github.com/iiab/iiab/pull/382 -# wondershaper_install: False -# wondershaper_enabled: False - # 1-PREP @@ -289,13 +276,6 @@ nextcloud_enabled: True # Uncomment the following line to end that: (might install an older Nextcloud!) # nextcloud_dl_url: http://d.iiab.io/packages/latest.tar.bz2 -# A full-featured PBX (for rural telephony, etc) based on Asterisk and FreePBX. -# Untested since Ubuntu 18.04, Debian 9 w/ Node.js 10.x. Experimental on RPi. -# If using PBX intensively, set nginx_high_php_limits further above. -pbx_install: False -pbx_enabled: False -asterisk_chan_dongle: False - # If using WordPress intensively, set nginx_high_php_limits further above. wordpress_install: True wordpress_enabled: True @@ -377,6 +357,15 @@ vnstat_enabled: False # 9-LOCAL-ADDONS +# Python-based Captive Portal, that @m-anish & @jvonau experimented with in +# July 2018 (https://github.com/iiab/iiab/pull/870) and that @georgejhunt +# extensively later refined (PRs #1179, #1300, #1327, #2070). +captiveportal_install: True +captiveportal_enabled: False +captiveportal_splash_page: / +# You might also want to set iiab_home_url (above!) +# In a pinch, disable Captive Portal using instructions in http://FAQ.IIAB.IO + # Internet Archive Decentralized Web - create your own offline version box:4244 # (or http://box/archive) arising from digital library https://dweb.archive.org internetarchive_install: False @@ -386,7 +375,20 @@ internetarchive_enabled: False minetest_install: False minetest_enabled: False -# Calibre E-Book Library +# Calibre-Web E-Book Library -- Alternative to Calibre, offers a clean/modern UX +calibreweb_install: True +calibreweb_enabled: True +calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019) +# http://box/books works. Add {box/libros, box/livres, box/livros, box/liv} etc? +calibreweb_url1: /books # For SHORT URL http://box/books (English) +calibreweb_url2: /libros # For SHORT URL http://box/libros (Spanish) +calibreweb_url3: /livres # For SHORT URL http://box/livres (French) +calibreweb_home: /library/calibre-web # default_vars.yml uses: "{{ content_base }}/calibre-web" + +# SUGGESTION: Calibre-Web can use Calibre's /usr/bin/ebook-convert program, so +# ALSO CONSIDER installing Calibre (below, if its graphical bloat is tolerable!) + +# Calibre E-Book Library -- https://calibre-ebook.com # WARNING: CALIBRE INSTALLS GRAPHICAL LIBRARIES SIMILAR TO X WINDOWS & OPENGL # ON (HEADLESS, SERVER, LITE) OS'S THAT DON'T ALREADY HAVE THESE INSTALLED. calibre_install: False @@ -397,15 +399,10 @@ calibre_port: 8080 calibre_web_path: calibre #NEEDS WORK: https://github.com/iiab/iiab/issues/529 # Avoid URL collisions w/ calibreweb_url1, calibreweb_url2, calibreweb_url3 below! -# WARNING: Calibre-Web (below) depends on Calibre's own /usr/bin/ebook-convert -# program, so we recommend you also install Calibre (above!) - -# Calibre-Web alternative to Calibre, offers a clean/modern UX -calibreweb_install: True -calibreweb_enabled: True -calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019) -# http://box/books works. Add {box/libros, box/livres, box/livros, box/liv} etc? -calibreweb_url1: /books # For SHORT URL http://box/books (English) -calibreweb_url2: /libros # For SHORT URL http://box/libros (Spanish) -calibreweb_url3: /livres # For SHORT URL http://box/livres (French) -calibreweb_home: /library/calibre-web # default_vars.yml uses: "{{ content_base }}/calibre-web" +# A full-featured PBX (for rural telephony, etc) based on Asterisk and FreePBX. +# REQUIRES PHP 7.4 e.g. Ubuntu 20.04, Debian 11 -- RaspiOS 11 might also work. +# INSTRUCTIONS: https://github.com/iiab/iiab/tree/master/roles/pbx#pbx-readme +# If using PBX intensively, investigate nginx_high_php_limits further above. +pbx_install: False +pbx_enabled: False +asterisk_chan_dongle: False diff --git a/vars/local_vars_min.yml b/vars/local_vars_min.yml index 1545386cc..e4ab3f95d 100644 --- a/vars/local_vars_min.yml +++ b/vars/local_vars_min.yml @@ -116,24 +116,11 @@ dnsmasq_enabled: True # Enable AFTER installing IIAB! Then run "cd /opt/iiab/iiab; ./iiab-network" dns_jail_enabled: False -# Python-based Captive Portal, that @m-anish & @jvonau experimented with in -# July 2018 (https://github.com/iiab/iiab/pull/870) and that @georgejhunt -# extensively later refined (PRs #1179, #1300, #1327, #2070). -captiveportal_install: True -captiveportal_enabled: False -captiveportal_splash_page: / -# You might also want to set iiab_home_url (above!) -# In a pinch, disable Captive Portal using instructions in http://FAQ.IIAB.IO - # Bluetooth PAN access to IIAB server bluetooth_install: True bluetooth_enabled: False bluetooth_term_enabled: False -# UNMAINTAINED as of October 2017: https://github.com/iiab/iiab/pull/382 -# wondershaper_install: False -# wondershaper_enabled: False - # 1-PREP @@ -289,13 +276,6 @@ nextcloud_enabled: False # Uncomment the following line to end that: (might install an older Nextcloud!) # nextcloud_dl_url: http://d.iiab.io/packages/latest.tar.bz2 -# A full-featured PBX (for rural telephony, etc) based on Asterisk and FreePBX. -# Untested since Ubuntu 18.04, Debian 9 w/ Node.js 10.x. Experimental on RPi. -# If using PBX intensively, set nginx_high_php_limits further above. -pbx_install: False -pbx_enabled: False -asterisk_chan_dongle: False - # If using WordPress intensively, set nginx_high_php_limits further above. wordpress_install: False wordpress_enabled: False @@ -377,6 +357,15 @@ vnstat_enabled: False # 9-LOCAL-ADDONS +# Python-based Captive Portal, that @m-anish & @jvonau experimented with in +# July 2018 (https://github.com/iiab/iiab/pull/870) and that @georgejhunt +# extensively later refined (PRs #1179, #1300, #1327, #2070). +captiveportal_install: True +captiveportal_enabled: False +captiveportal_splash_page: / +# You might also want to set iiab_home_url (above!) +# In a pinch, disable Captive Portal using instructions in http://FAQ.IIAB.IO + # Internet Archive Decentralized Web - create your own offline version box:4244 # (or http://box/archive) arising from digital library https://dweb.archive.org internetarchive_install: False @@ -386,7 +375,20 @@ internetarchive_enabled: False minetest_install: False minetest_enabled: False -# Calibre E-Book Library +# Calibre-Web E-Book Library -- Alternative to Calibre, offers a clean/modern UX +calibreweb_install: False +calibreweb_enabled: False +calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019) +# http://box/books works. Add {box/libros, box/livres, box/livros, box/liv} etc? +calibreweb_url1: /books # For SHORT URL http://box/books (English) +calibreweb_url2: /libros # For SHORT URL http://box/libros (Spanish) +calibreweb_url3: /livres # For SHORT URL http://box/livres (French) +calibreweb_home: /library/calibre-web # default_vars.yml uses: "{{ content_base }}/calibre-web" + +# SUGGESTION: Calibre-Web can use Calibre's /usr/bin/ebook-convert program, so +# ALSO CONSIDER installing Calibre (below, if its graphical bloat is tolerable!) + +# Calibre E-Book Library -- https://calibre-ebook.com # WARNING: CALIBRE INSTALLS GRAPHICAL LIBRARIES SIMILAR TO X WINDOWS & OPENGL # ON (HEADLESS, SERVER, LITE) OS'S THAT DON'T ALREADY HAVE THESE INSTALLED. calibre_install: False @@ -397,15 +399,10 @@ calibre_port: 8080 calibre_web_path: calibre #NEEDS WORK: https://github.com/iiab/iiab/issues/529 # Avoid URL collisions w/ calibreweb_url1, calibreweb_url2, calibreweb_url3 below! -# WARNING: Calibre-Web (below) depends on Calibre's own /usr/bin/ebook-convert -# program, so we recommend you also install Calibre (above!) - -# Calibre-Web alternative to Calibre, offers a clean/modern UX -calibreweb_install: False -calibreweb_enabled: False -calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019) -# http://box/books works. Add {box/libros, box/livres, box/livros, box/liv} etc? -calibreweb_url1: /books # For SHORT URL http://box/books (English) -calibreweb_url2: /libros # For SHORT URL http://box/libros (Spanish) -calibreweb_url3: /livres # For SHORT URL http://box/livres (French) -calibreweb_home: /library/calibre-web # default_vars.yml uses: "{{ content_base }}/calibre-web" +# A full-featured PBX (for rural telephony, etc) based on Asterisk and FreePBX. +# REQUIRES PHP 7.4 e.g. Ubuntu 20.04, Debian 11 -- RaspiOS 11 might also work. +# INSTRUCTIONS: https://github.com/iiab/iiab/tree/master/roles/pbx#pbx-readme +# If using PBX intensively, investigate nginx_high_php_limits further above. +pbx_install: False +pbx_enabled: False +asterisk_chan_dongle: False