diff --git a/README.md b/README.md index b91f67ebd..f753d407f 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,49 @@ +*Sharing the World's Free Knowledge* + # Internet-in-a-Box (IIAB) -Welcome to the GitHub repository for [Internet-in-a-Box (IIAB)](http://internet-in-a-box.org). IIAB is a small and inexpensive device which provides essential Internet resources (Wikipedia, OpenStreetMap, Khan Academy and others) *usable even when offline!* +[Internet-in-a-Box (IIAB)](http://internet-in-a-box.org) is a "learning hotspot" that brings the Internet's crown jewels +(Wikipedia in any language, thousands of Khan Academy videos, zoomable OpenStreetMap, electronic books, WordPress journaling, Toys from Trash electronics projects, ETC) to those without Internet. -Create the digital library needed by your school, your medical clinic, your region and/or your very own family — accessible with any nearby smartphone, tablet or laptop. +You can build your own tiny, affordable server (an offline digital library) for your school, your medical clinic, your prison, your region and/or your very own family — accessible with any nearby smartphone, tablet or laptop. -Internet-in-a-Box provides you the tools to DIY (download and customize) a local content hotspot or server, using the Internet's crown jewels and the very best of the World’s Free Knowledge. +Internet-in-a-Box gives you the DIY tools to: +1. Download then drag-and-drop to arrange the [very best of the World’s Free Knowledge](http://internet-in-a-box.org/#quality-content). +2. Choose among [30 powerful educational apps](http://wiki.laptop.org/go/IIAB/FAQ#What_services_.28IIAB_apps.29_are_suggested_during_installation.3F) for your school or learning/teaching community, optionally with a complete LMS (learning management system). +3. Exchange local/indigenous knowledge with nearby communities, using our [Manage Content](https://github.com/iiab/iiab-admin-console/blob/master/roles/console/files/help/InstContent.rst#manage-content) interface and possible mesh networking. -Schools can also choose among [30 powerful educational apps](http://wiki.laptop.org/go/IIAB/FAQ#What_services_.28IIAB_apps.29_are_suggested_during_installation.3F) for teachers and students, optionally with a complete LMS (learning management system). - -FYI this community product is enabled by professional volunteers working [side-by-side](http://wiki.laptop.org/go/IIAB/FAQ#What_are_the_best_places_for_community_support.3F) with schools, clinics and libraries around the world. *Thank you for being a part of our grassroots technology movement!* +FYI this [community product](https://en.wikipedia.org/wiki/Internet-in-a-Box) is enabled by professional volunteers working [side-by-side](http://wiki.laptop.org/go/IIAB/FAQ#What_are_the_best_places_for_community_support.3F) with schools, clinics and libraries around the world. *Thank you for being a part of our http://OFF.NETWORK grassroots technology [movement](https://meta.wikimedia.org/wiki/Internet-in-a-Box)!* ## Installation -Pre-releases of Internet-in-a-Box (IIAB) are available from http://download.iiab.io — click on the highest version number and then launch the 1-line installer. +Install Internet-in-a-Box (IIAB) from [download.iiab.io](http://download.iiab.io/) -Please see "What are the best places for community support?" at http://FAQ.IIAB.IO which has 40+ questions and answers to help you along the way, as you put together the digital knowledge hotspot most suitable for your own community. +Please see [FAQ.IIAB.IO](http://FAQ.IIAB.IO) which has 40+ questions and answers to help you along the way, as you put together the "local learning hotspot" most suitable for your own teaching/learning community. -The [Installation](https://github.com/iiab/iiab/wiki/IIAB-Installation) wiki page has more intricate details e.g. if you're trying to install Internet-in-a-Box (IIAB) on a [different platform](https://github.com/iiab/iiab/wiki/IIAB-Platforms) that has not yet been tried. +Our [HOW-TO videos](https://www.youtube.com/channel/UC0cBGCxr_WPBPa3IqPVEe3g) can be very helpful and the [Installation](https://github.com/iiab/iiab/wiki/IIAB-Installation) wiki page has more intricate details e.g. if you're trying to install Internet-in-a-Box (IIAB) onto a [different Linux](https://github.com/iiab/iiab/wiki/IIAB-Platforms) that has not yet been tried. -Then you [add content](https://github.com/iiab/iiab/wiki/IIAB-Installation#add-content), which can of course take time when downloading multi-gigabyte Content Packs! +After you've installed the software, you should [add content](https://github.com/iiab/iiab/wiki/IIAB-Installation#add-content), which can of course take time when downloading multi-gigabyte Content Packs! -Finally, you can [customize your Internet-in-a-Box home page](http://wiki.laptop.org/go/IIAB/FAQ#How_do_I_customize_my_Internet-in-a-Box_home_page.3F) (typically http://box or http://box.lan) using our drag-and-drop Admin Console (http://box/admin) — to arrange Content Packs and IIAB Apps (services) for your local community's needs. +Finally, you can [customize your Internet-in-a-Box home page](http://wiki.laptop.org/go/IIAB/FAQ#How_do_I_customize_my_Internet-in-a-Box_home_page.3F) (typically http://box or http://box.lan) using our **drag-and-drop** Admin Console (http://box.lan/admin) — to arrange Content Packs and IIAB Apps (services) for your local community's needs. -#### Built with Ansible +## Community -FYI we use [Ansible](http://wiki.laptop.org/go/IIAB/FAQ#What_is_Ansible_and_what_version_should_I_use.3F) as the underlying technology to install, deploy, configure and manage the various software components. +Internet-in-a-Box (IIAB) greatly welcomes contributions from educators, librarians *and* IT/UX/QA people of all kinds! -## Contributing +Please see "[How can I help?](http://wiki.laptop.org/go/IIAB/FAQ#How_can_I_help.3F)" at: [FAQ.IIAB.IO](http://FAQ.IIAB.IO) -We greatly welcome contributions from educators, librarians *and* IT/UX/QA people of all kinds! +To learn about our software architecture, check out our [Contributors Guide](https://github.com/iiab/iiab/wiki/IIAB-Contributors-Guide). FYI we use [Ansible](http://wiki.laptop.org/go/IIAB/FAQ#What_is_Ansible_and_what_version_should_I_use.3F) to install, deploy, configure and manage the various software components. -Please see "[How can I help?](http://wiki.laptop.org/go/IIAB/FAQ#How_can_I_help.3F)" at: http://FAQ.IIAB.IO +To learn more about our open community architecture for "offline" education, start by reviewing "[What technical documentation exists?](http://wiki.laptop.org/go/IIAB/FAQ#What_technical_documentation_exists.3F)" -Check out our [Contributors Guide](https://github.com/iiab/iiab/wiki/IIAB-Contributors-Guide) to learn more about contributing directly to Internet-in-a-Box (IIAB) software and its open community architecture for education. - -*Thank you for helping us enable offline access to the Internet's open knowledge jewels, as well as "Sneakernet-of-Alexandria" distribution of local/indigenous content, when mass media channels do not serve grassroots voices.* +*Thank you for helping us enable offline access to the Internet's free/open knowledge jewels, as well as "Sneakernet-of-Alexandria" distribution of local/indigenous content, when mass media channels do not serve grassroots voices.* ## Versions Pre-releases of Internet-in-a-Box (IIAB) undergo continuous QA / continuous deployment and are strongly recommended. -Install our latest pre-release using the 1-line installer at: http://download.iiab.io +Install our latest pre-release using the 1-line installer at: [download.iiab.io](http://download.iiab.io/) You can also consider the official releases at: [github.com/iiab/iiab/releases](https://github.com/iiab/iiab/releases) -Finally, older versions are here: [github.com/xsce](http://github.com/xsce), [schoolserver.org](http://schoolserver.org) +For older versions, see: [github.com/xsce](http://github.com/xsce), [schoolserver.org](http://schoolserver.org) diff --git a/roles/awstats/defaults/main.yml b/roles/awstats/defaults/main.yml index 0fb92113a..78a5fc868 100644 --- a/roles/awstats/defaults/main.yml +++ b/roles/awstats/defaults/main.yml @@ -1,3 +1,7 @@ -awstats_install: True -awstats_enabled: False -awstats_data_dir: /library/awstats/ +# awstats_install: True +# awstats_enabled: True + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! + +awstats_data_dir: "{{ content_base }}/awstats/" # /library/awstats diff --git a/roles/calibre-web/README.rst b/roles/calibre-web/README.rst index 72f9f8451..28ea2b38b 100644 --- a/roles/calibre-web/README.rst +++ b/roles/calibre-web/README.rst @@ -74,6 +74,8 @@ See also:: /library/calibre-web/metadata_db_prefs_backup.json +See the official docs on Calibre-Web's `Runtime Configuration Options `_. + Back Up Everything ------------------ @@ -149,5 +151,9 @@ Known Issues occasionally arise, when upstream developers change its master branch without warning. +* Imagemagick policy prevents generating thumbnails for PDF's during upload: `#1530 `_ `janeczku/calibre-web#827 `_ + +* Upload of not supported file formats gives no feedback to the user: `janeczku/calibre-web#828 `_ + * *Please assist us in reporting serious issues here:* https://github.com/janeczku/calibre-web/issues diff --git a/roles/calibre-web/defaults/main.yml b/roles/calibre-web/defaults/main.yml index 8ad670c08..1ac25be74 100644 --- a/roles/calibre-web/defaults/main.yml +++ b/roles/calibre-web/defaults/main.yml @@ -1,17 +1,20 @@ -# The values here are defaults. -# To override them edit /etc/iiab/local_vars.yml +# Calibre-Web alternative to Calibre, offers a clean/modern UX -# Installation Variables -calibreweb_install: False -calibreweb_enabled: False +# calibreweb_install: False +# calibreweb_enabled: False + +# calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019) + +# calibreweb_url: /books # FOR SHORT URL http://box/books -- add {box/libros, box/livres, box/livros, box/liv} etc? + +# calibreweb_home: "{{ content_base }}/calibre-web" # /library/calibre-web for books, metadata.db & config/app.db + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! -calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019) -calibreweb_url: /books calibreweb_venv_path: /usr/local/calibre-web calibreweb_exec_path: "{{ calibreweb_venv_path }}/cps.py" -# calibre-web folder to store its data files. -calibreweb_home: "{{ content_base }}/calibre-web" # /library/calibre-web # calibre-web folder to store configuration files. calibreweb_config: "{{ calibreweb_home }}/config" @@ -24,6 +27,6 @@ calibreweb_database: metadata.db # calibre-web system user calibreweb_user: root -# calibre-web admin account +# UNUSED variables, as of March 2019: # calibreweb_admin_user: Admin # calibreweb_admin_password: changeme diff --git a/roles/calibre/defaults/main.yml b/roles/calibre/defaults/main.yml index 44ed043e6..aad43da11 100644 --- a/roles/calibre/defaults/main.yml +++ b/roles/calibre/defaults/main.yml @@ -1,8 +1,27 @@ -calibre_port: 8080 +# Calibre E-Book Library +# WARNING: CALIBRE INSTALLS GRAPHICAL LIBRARIES SIMILAR TO X WINDOWS & OPENGL +# ON (HEADLESS, SERVER, LITE) OS'S THAT DON'T ALREADY HAVE THESE INSTALLED. -# http://box:8080 & http://box:8080/mobile WORK BUT THESE OTHER URL'S ARE A MESS (BOOKS RARELY DISPLAY) -calibre_web_path: calibre -# In addition to: http://box:8080 http://box/books box/libros box/livres box/livros box/liv +# calibre_install: False +# calibre_enabled: False + +# vars/raspbian-9.yml tries the .deb upgrade of Calibre, overriding this default: +# calibre_via_debs: False +# calibre_unstable_debs: False + +# vars/.yml use Calibre's python installer/upgrader (x86_64), overriding this default: +# calibre_via_python: False + +# Change calibre_port to 8010 if you're using XO laptops needing above idmgr ? +# calibre_port: 8080 + +# http://box:8080 & http://box:8080/mobile WORK FOR NOW, but short/mnemonic +# URL's like http://box/calibre DON'T YET WORK -- BOOKS RARELY DISPLAY: +# calibre_web_path: calibre # NEEDS WORK: https://github.com/iiab/iiab/issues/529 +# Avoid URL collisions with calibreweb_url ! + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! calibre_dbpath: "{{ content_base }}/calibre" # i.e. /library/calibre (holds metadata.db + book directories + our users.sqlite) diff --git a/roles/captive-portal/defaults/main.yml b/roles/captive-portal/defaults/main.yml index fab470665..20923cdd8 100644 --- a/roles/captive-portal/defaults/main.yml +++ b/roles/captive-portal/defaults/main.yml @@ -1 +1,7 @@ -captive_portal_port: 9090 +# captive_portal_install: False +# captive_portal_enabled: False + +# captive_portal_port: 9090 + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! diff --git a/roles/cups/defaults/main.yml b/roles/cups/defaults/main.yml index 4d9d5227e..2276cfd44 100644 --- a/roles/cups/defaults/main.yml +++ b/roles/cups/defaults/main.yml @@ -1,2 +1,7 @@ -cups_install: True -cups_enabled: False +# cups_install: False +# cups_enabled: False + +# cups_port: 631 + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! diff --git a/roles/dokuwiki/defaults/main.yml b/roles/dokuwiki/defaults/main.yml index b56141f4a..f55e8affb 100644 --- a/roles/dokuwiki/defaults/main.yml +++ b/roles/dokuwiki/defaults/main.yml @@ -1,4 +1,8 @@ -dokuwiki_url: /wiki -dokuwiki_install: True -dokuwiki_enabled: False +# dokuwiki_install: False +# dokuwiki_enabled: False + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! + dokuwiki_version: "dokuwiki-2018-04-22b" +dokuwiki_url: /wiki diff --git a/roles/elgg/defaults/main.yml b/roles/elgg/defaults/main.yml index 642ae0c00..8aeef0fe6 100644 --- a/roles/elgg/defaults/main.yml +++ b/roles/elgg/defaults/main.yml @@ -1,11 +1,18 @@ +# elgg_install: False +# elgg_enabled: False + +# # elgg_mysql_password: $6$iiab51$jeTwnATcbaa92xo0QBTgjLBU.5aVDDrbKeNyyC99R/TAWz6pvfzj.L7lfnOVVjD78nxqT.gkNn6XZmuRV0W3o1 +# elgg_mysql_password: elgg4kids + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! + elgg_xx: elgg elgg_version: "2.3.10" # elgg_mysql_password: defined in default_vars elgg_url: /elgg -elgg_upload_path: /library/elgg -elgg_install: True -elgg_enabled: False +elgg_upload_path: "{{ content_base }}/elgg" # /library/elgg # Variables used by template to create /opt/elgg/elgg-config/settings.php dbuser: Admin @@ -16,7 +23,7 @@ dbprefix: elgg_ # The following variables must be in sync with template/elggdb.sql.j2 # If you change them, you will probably have to rebuild the database. -# They can be changed from the administrative interface once elgg is installed. +# They can be changed from the administrative interface once Elgg is installed. elgg_admin_user: Admin elgg_admin_password: changeme diff --git a/roles/kalite/defaults/main.yml b/roles/kalite/defaults/main.yml index 3d4683c0f..0580e4096 100644 --- a/roles/kalite/defaults/main.yml +++ b/roles/kalite/defaults/main.yml @@ -1,8 +1,18 @@ -# The values here are defaults. -# To override them edit /etc/iiab/local_vars.yml +# kalite_install: True +# kalite_enabled: True -kalite_install: True -kalite_enabled: False +# kalite_server_port: 8008 +# kalite_root: "{{ content_base }}/ka-lite" # /library/ka-lite + +# Unused in 2018; but remain as placeholders for Fedora 18 legacy (XO laptops) +# kalite_cron_enabled: False +# kalite_user: kalite +# Obtain a password hash with - python -c 'import crypt; print crypt.crypt("", "$6$<salt>")' +# kalite_password_hash: $6$<salt>$KHET0XRRsgAY.wOWyTOI3W7dyDh0ESOr48uI5vtk2xdzsU7aw0TF4ZkNuM34RmHBGMJ1fTCmOyVobo0LOhBlJ/ +# kalite_password: kalite + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! kalite_version: "0.17.5" kalite_repo_url: "https://github.com/learningequality/ka-lite.git" @@ -12,18 +22,5 @@ kalite_venv: "/usr/local/kalite/venv" kalite_program: "{{ kalite_venv }}/bin/kalite" kalite_root: "/library/ka-lite" -kalite_server_port: 8008 kalite_admin_user: Admin kalite_admin_password: changeme - -# Unused in 2018; but remain as placeholders for Fedora 18 legacy (XO laptops) -kalite_cron_enabled: False -kalite_user: kalite -# obtain a password hash with - python -c 'import crypt; print crypt.crypt("<plaintext>", "$6$<salt>")' -kalite_password_hash: $6$<salt>$KHET0XRRsgAY.wOWyTOI3W7dyDh0ESOr48uI5vtk2xdzsU7aw0TF4ZkNuM34RmHBGMJ1fTCmOyVobo0LOhBlJ/ -kalite_password: kalite - -# Unused in 2018 -# kalite_server_name: kalite -# khan_assessment_install: True -# khan_assessment_url: "http://pantry.learningequality.org/downloads/ka-lite/0.16/content/khan_assessment.zip" diff --git a/roles/kiwix/defaults/main.yml b/roles/kiwix/defaults/main.yml index 70e2f72d5..4ff81da90 100644 --- a/roles/kiwix/defaults/main.yml +++ b/roles/kiwix/defaults/main.yml @@ -1,3 +1,12 @@ +# kiwix_install: True +# kiwix_enabled: True + +# kiwix_port: 3000 +# iiab_zim_path: "{{ content_base }}/zims" # /library/zims + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! + # Which kiwix-tools to download from http://download.iiab.io/packages/ # As obtained from http://download.kiwix.org/release/kiwix-tools/ or http://download.kiwix.org/nightly/ @@ -14,21 +23,16 @@ kiwix_src_file_armhf: "{{ kiwix_version_armhf }}.tar.gz" kiwix_src_file_linux64: "{{ kiwix_version_linux64 }}.tar.gz" kiwix_src_file_i686: "{{ kiwix_version_i686 }}.tar.gz" -kiwix_port: 3000 # Used for Kiwix proxy http://box/kiwix/ kiwix_url: /kiwix/ kiwix_alias_url: /kiwix -kiwix_path: "{{ iiab_base }}/kiwix" +kiwix_path: "{{ iiab_base }}/kiwix" # /opt/iiab # /library/zims contains 3 important things: # - library.xml # - content directory for all *.zim's # - index directory for legacy *.zim.idx's -iiab_zim_path: "{{ content_base }}/zims" kiwix_library_xml: "{{ iiab_zim_path }}/library.xml" -# Installation Variables -kiwix_install: True -kiwix_enabled: True # MOVE FILE /opt/iiab/kiwix/bin/kiwix-serve TO FORCE A REINSTALL OF kiwix-tools kiwix_force_install: False diff --git a/roles/kolibri/defaults/main.yml b/roles/kolibri/defaults/main.yml index a05e107d3..94e1067c7 100644 --- a/roles/kolibri/defaults/main.yml +++ b/roles/kolibri/defaults/main.yml @@ -1,14 +1,14 @@ -# The values here are defaults. -# To override them edit /etc/iiab/local_vars.yml +# kolibri_install: False +# kolibri_enabled: False -# Installation Variables -kolibri_install: False -kolibri_enabled: False +# kolibri_http_port: 8009 + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! # Kolibri folder to store its data and configuration files. -kolibri_home: "{{ content_base }}/kolibri" +kolibri_home: "{{ content_base }}/kolibri" # /library/kolibri -kolibri_http_port: 8009 kolibri_url: /kolibri kolibri_venv_path: /usr/local/kolibri # 2018-07-16: IIAB recommends /usr/bin but @arky says this isn't yet possible, due to pip diff --git a/roles/lokole/defaults/main.yml b/roles/lokole/defaults/main.yml index 91271f72a..02e245d81 100644 --- a/roles/lokole/defaults/main.yml +++ b/roles/lokole/defaults/main.yml @@ -5,7 +5,7 @@ # If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! # Info needed to install Lokole -lokole_version: "0.1.38" +lokole_version: "0.1.39" lokole_admin_user: admin # lowercase seems nec here (even though uppercase Admin/changeme is IIAB's OOB recommendation!) lokole_admin_password: changeme lokole_install_path: "{{ content_base }}/lokole" # /library/lokole diff --git a/roles/mediawiki/defaults/main.yml b/roles/mediawiki/defaults/main.yml index ee1b624bc..975f9f219 100644 --- a/roles/mediawiki/defaults/main.yml +++ b/roles/mediawiki/defaults/main.yml @@ -1,3 +1,9 @@ +# mediawiki_install: False +# mediawiki_enabled: False + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! + mediawiki_major_version: "1.32" mediawiki_minor_version: "0" mediawiki_version: "{{ mediawiki_major_version }}.{{ mediawiki_minor_version }}" @@ -14,11 +20,8 @@ mediawiki_admin_user_password: changeme mediawiki_site_name: Community Wiki -mediawiki_install: True -mediawiki_enabled: True - -mediawiki_install_path: "{{ content_base }}" +mediawiki_install_path: "{{ content_base }}" # /library mediawiki_abs_path: "{{ mediawiki_install_path }}/mediawiki-{{ mediawiki_version }}" mediawiki_url: /mediawiki -mediawiki_full_url: "http://{{ iiab_hostname }}.{{ iiab_domain }}/{{ mediawiki_url }}" +mediawiki_full_url: "http://{{ iiab_hostname }}.{{ iiab_domain }}{{ mediawiki_url }}" # http://box.lan/mediawiki diff --git a/roles/mongodb/defaults/main.yml b/roles/mongodb/defaults/main.yml index 73dd0c0c9..e1269e9d8 100644 --- a/roles/mongodb/defaults/main.yml +++ b/roles/mongodb/defaults/main.yml @@ -1,10 +1,11 @@ # mongodb_install: False # mongodb_enabled: False + # mongodb_port: 27018 # All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml # If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! mongodb_conf: /etc/mongod.conf -mongodb_db_path: "{{ content_base }}/dbdata/mongodb" # i.e. /library/dbdata/mongodb/ +mongodb_db_path: "{{ content_base }}/dbdata/mongodb" # /library/dbdata/mongodb mongodb_db_lock_file: "{{ mongodb_db_path }}/mongod.lock" diff --git a/roles/moodle/defaults/main.yml b/roles/moodle/defaults/main.yml index 46cdb8c59..282ea5db0 100644 --- a/roles/moodle/defaults/main.yml +++ b/roles/moodle/defaults/main.yml @@ -1,5 +1,8 @@ -#moodle_install: True -#moodle_enabled: False +# moodle_install: False +# moodle_enabled: False + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! # If using Moodle intensively, consider setting apache_high_php_limits in: # /etc/iiab/local_vars.yml @@ -7,7 +10,7 @@ moodle_version: 35 #moodle_repo_url: "https://github.com/moodle/moodle.git" moodle_repo_url: "git://git.moodle.org/moodle.git" -moodle_base: "{{ iiab_base }}/moodle" +moodle_base: "{{ iiab_base }}/moodle" # /opt/iiab #moodle_user: moodle -moodle_data: '{{ content_base }}/moodle' +moodle_data: "{{ content_base }}/moodle" # /library/moodle moodle_database_name: moodle diff --git a/roles/mosquitto/defaults/main.yml b/roles/mosquitto/defaults/main.yml index c27c3a538..0b7d33f5e 100644 --- a/roles/mosquitto/defaults/main.yml +++ b/roles/mosquitto/defaults/main.yml @@ -1,5 +1,10 @@ -mosquitto_install: False -mosquitto_enabled: False +# mosquitto_install: False +# mosquitto_enabled: False + +# mosquitto_port: 1883 + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! mosquitto_user: Admin mosquitto_password: changeme diff --git a/roles/munin/tasks/main.yml b/roles/munin/tasks/main.yml index 4a5f0e565..4bcbe360b 100644 --- a/roles/munin/tasks/main.yml +++ b/roles/munin/tasks/main.yml @@ -1,4 +1,4 @@ -- name: Install 5 package for Munin (debuntu) +- name: 'Install 5 packages: munin, munin-node, munin-plugins-extra, libcgi-fast-perl, libapache2-mod-fcgid (debuntu)' package: name: - munin @@ -11,7 +11,7 @@ - download when: is_debuntu -- name: Install packages munin and munin-node (OS's other than debuntu) +- name: "Install 2 packages: munin, munin-node (OS's other than debuntu)" package: name: - munin diff --git a/roles/network/tasks/detected_network.yml b/roles/network/tasks/detected_network.yml index 8374de92f..11fb3bcfa 100644 --- a/roles/network/tasks/detected_network.yml +++ b/roles/network/tasks/detected_network.yml @@ -141,7 +141,7 @@ - name: Set iiab_wired_lan_iface if present set_fact: iiab_wired_lan_iface: "{{ discovered_wired_iface }}" - when: discovered_wired_iface is defined and discovered_wired_iface != "none" and discovered_wired_iface != iiab_wan_iface + when: discovered_wired_iface is defined and discovered_wired_iface != "none" and discovered_wired_iface != iiab_wan_iface and not is_rpi #unused #- name: Get a list of ifcfg files to delete diff --git a/roles/network/tasks/restart.yml b/roles/network/tasks/restart.yml index 64dc0ba24..eb22b8e5a 100644 --- a/roles/network/tasks/restart.yml +++ b/roles/network/tasks/restart.yml @@ -74,5 +74,6 @@ systemd: name: "{{ dhcp_service2 }}" state: restarted - when: (iiab_network_mode != "Appliance") and (not no_net_restart) + when: (iiab_network_mode != "Appliance") # Sufficient b/c br0 exists thanks to /etc/network/interfaces.d/iiab + #when: (iiab_network_mode != "Appliance") and (not no_net_restart) #when: iiab_network_mode != "Appliance" and iiab_wan_iface != discovered_wireless_iface diff --git a/roles/network/tasks/rpi_debian.yml b/roles/network/tasks/rpi_debian.yml index 1161d0ca6..31c1b7851 100644 --- a/roles/network/tasks/rpi_debian.yml +++ b/roles/network/tasks/rpi_debian.yml @@ -39,7 +39,8 @@ - name: Copy the bridge script for RPi template: dest: /etc/network/interfaces.d/iiab - src: network/iiab.j2 + src: network/rpi.j2 + #src: network/iiab.j2 2019-02-05: caused ./iiab-network to fail repeatedly in recent days on one particular RPi 3, even after reboot ("Unable to start service networking: Job for networking.service failed..." at "Restart the networking service if appropriate") ...leaving dnsmasq off (#1452) when: iiab_lan_iface == "br0" - name: Stopping services @@ -60,4 +61,5 @@ name: networking enabled: yes state: restarted - when: not nobridge is defined and not no_net_restart + when: not nobridge is defined # less is better + #when: not nobridge is defined and not no_net_restart diff --git a/roles/network/templates/network/iiab-hotspot-off b/roles/network/templates/network/iiab-hotspot-off index 59301a55b..ceaae55b1 100755 --- a/roles/network/templates/network/iiab-hotspot-off +++ b/roles/network/templates/network/iiab-hotspot-off @@ -2,8 +2,8 @@ sed -i -e "s/^denyinterfaces/#denyinterfaces/" /etc/dhcpcd.conf systemctl disable hostapd systemctl stop hostapd -systemctl disable dnsmasq -systemctl stop dnsmasq +#systemctl disable dnsmasq +#systemctl stop dnsmasq systemctl daemon-reload systemctl restart dhcpcd systemctl restart networking diff --git a/roles/network/templates/network/iiab-hotspot-on b/roles/network/templates/network/iiab-hotspot-on index 10cebc660..50bc74e9b 100755 --- a/roles/network/templates/network/iiab-hotspot-on +++ b/roles/network/templates/network/iiab-hotspot-on @@ -2,7 +2,7 @@ cp -f /etc/hostapd/hostapd.conf.iiab /etc/hostapd/hostapd.conf sed -i -e "s/^#denyinterfaces/denyinterfaces/" /etc/dhcpcd.conf systemctl enable hostapd -systemctl enable dnsmasq +#systemctl enable dnsmasq systemctl daemon-reload systemctl restart dhcpcd systemctl restart networking diff --git a/roles/network/templates/network/iiab.j2 b/roles/network/templates/network/iiab.j2.deprecated similarity index 100% rename from roles/network/templates/network/iiab.j2 rename to roles/network/templates/network/iiab.j2.deprecated diff --git a/roles/nodered/defaults/main.yml b/roles/nodered/defaults/main.yml index 2bbe417aa..f68a595d3 100644 --- a/roles/nodered/defaults/main.yml +++ b/roles/nodered/defaults/main.yml @@ -1,5 +1,6 @@ # nodered_install: False # nodered_enabled: False + # nodered_port: 1880 # For http://box/nodered reverse proxy of http://box:1880/nodered diff --git a/roles/pbx/defaults/main.yml b/roles/pbx/defaults/main.yml index 5c5da4892..6b012f098 100644 --- a/roles/pbx/defaults/main.yml +++ b/roles/pbx/defaults/main.yml @@ -1,6 +1,11 @@ +# A full-featured PBX (for rural telephony, etc) based on Asterisk and FreePBX. +# Works on Ubuntu 18.04, Debian 9. Experimental on Rasp/RPi 3. Uses Node.js 10.x + # 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" diff --git a/roles/samba/defaults/main.yml b/roles/samba/defaults/main.yml index 7de2c790a..e647c8567 100644 --- a/roles/samba/defaults/main.yml +++ b/roles/samba/defaults/main.yml @@ -1,6 +1,13 @@ ---- - smbuser : smbuser - smbpassword : $6$51iiab$VXzRJK88k9k8SXd5sjs37bEbVQ9x4ob1ng7A5PSGyoVXTKQrhu.89BRuXZAgn8a2DPqZkKDcCpqCZVOs.cieT/ +# Samba: do a security audit seriously before deploying this. + +# samba_install: False +# samba_enabled: False + +# shared_dir : "{{ content_base }}/public" # /library/public + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! + +smbuser : smbuser +smbpassword : $6$51iiab$VXzRJK88k9k8SXd5sjs37bEbVQ9x4ob1ng7A5PSGyoVXTKQrhu.89BRuXZAgn8a2DPqZkKDcCpqCZVOs.cieT/ # python -c 'import crypt; print crypt.crypt("smbpw", "$6$51iiab")' - shared_dir : /library/public - samba_enabled : false diff --git a/roles/sugarizer/defaults/main.yml b/roles/sugarizer/defaults/main.yml index ce2d1e36a..a049fe066 100644 --- a/roles/sugarizer/defaults/main.yml +++ b/roles/sugarizer/defaults/main.yml @@ -3,6 +3,7 @@ # sugarizer_install: False # sugarizer_enabled: False + # sugarizer_port: 8089 # All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml diff --git a/roles/transmission/defaults/main.yml b/roles/transmission/defaults/main.yml index 9e964accf..20918340c 100644 --- a/roles/transmission/defaults/main.yml +++ b/roles/transmission/defaults/main.yml @@ -1,27 +1,24 @@ -# The values here are defaults. -# To override them edit /etc/iiab/local_vars.yml - -# Installation Variables -transmission_install: False -transmission_enabled: False +# Transmission is a BitTorrent downloader for large Content Packs etc +# transmission_install: False +# transmission_enabled: False # Transmission download directory & general owner/group -transmission_download_dir: "{{ content_base }}/transmission/" # /library/transmission/ -transmission_user: debian-transmission -transmission_group: root +# transmission_download_dir: "{{ content_base }}/transmission/" # /library/transmission/ +# transmission_user: debian-transmission +# transmission_group: root # Monitor downloads at http://box:9091 or http://box:9091/transmission using Admin/changeme -transmission_http_port: 9091 -transmission_url : "/transmission/" -transmission_peer_port: 51413 +# transmission_http_port: 9091 +# transmission_url : "/transmission/" +# transmission_peer_port: 51413 # Provision Transmission with torrent(s) from http://pantry.learningequality.org/downloads/ka-lite/0.17/content/ -transmission_provision: True -transmission_kalite_version: 0.17 +# transmission_provision: True +# transmission_kalite_version: 0.17 -# A. Uncomment language(s) in /etc/iiab/local_vars.yml to download KA Lite videos to /library/transmission -transmission_kalite_languages: - - english +# A. UNCOMMENT LANGUAGE(S) IN /etc/iiab/local_vars.yml TO DOWNLOAD KA Lite VIDEOS TO /library/transmission +# transmission_kalite_languages: + #- english #- french #- hindi #- portugal-portuguese @@ -29,7 +26,7 @@ transmission_kalite_languages: #- spanish #- swahili # B. Monitor BitTorrent downloads at http://box:9091 using Admin/changeme -# until the download is confirmed complete (can take hours or days!) +# until the download is confirmed complete (can take hours if not days!) # C. Carefully move all videos/thumbnails into /library/ka-lite/content # (DO NOT OVERWRITE SUBFOLDERS assessment, locale, srt !) # D. Log in to KA Lite at http://box:8008/updates/videos/ using Admin/changeme @@ -37,5 +34,8 @@ transmission_kalite_languages: # E. READ "KA Lite Administration: What tips & tricks exist?" AT http://FAQ.IIAB.IO # Transmission administrative account -transmission_username: Admin -transmission_password: changeme +# transmission_username: Admin +# transmission_password: changeme + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! diff --git a/roles/usb-lib/defaults/main.yml b/roles/usb-lib/defaults/main.yml index d4a297bbb..fdfd389cc 100644 --- a/roles/usb-lib/defaults/main.yml +++ b/roles/usb-lib/defaults/main.yml @@ -1,2 +1,8 @@ -usb_lib_install: True -usb_lib_enabled: True +# usb_lib_install: True +# usb_lib_enabled: True + +# Show entire contents of USB sticks/drives (at http://box/usb) +# iiab_usb_lib_show_all: True + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! diff --git a/roles/wordpress/defaults/main.yml b/roles/wordpress/defaults/main.yml index fd8fbcfcb..0f2681b6e 100644 --- a/roles/wordpress/defaults/main.yml +++ b/roles/wordpress/defaults/main.yml @@ -1,5 +1,8 @@ -wordpress_install: True -wordpress_enabled: True +# wordpress_install: False +# wordpress_enabled: False + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! # If using WordPress intensively, consider setting apache_high_php_limits in: # /etc/iiab/local_vars.yml diff --git a/vars/default_vars.yml b/vars/default_vars.yml index a760af4b3..4e3732b56 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -225,9 +225,10 @@ cups_install: False cups_enabled: False cups_port: 631 -# Samba. Take a security audit seriously before deploying this. +# Samba. Do a security audit seriously before deploying this. samba_install: False samba_enabled: False +shared_dir : "{{ content_base }}/public" # /library/public # usb-lib usb_lib_install: True @@ -315,9 +316,9 @@ wordpress_enabled: False # KA Lite - SEE THE "Transmission" BITTORRENT DOWNLOADER FURTHER BELOW, TO INSTALL THOUSANDS OF VIDEOS kalite_install: True -kalite_enabled: False +kalite_enabled: True kalite_server_port: 8008 -kalite_root: "/library/ka-lite" +kalite_root: "{{ content_base }}/ka-lite" # /library/ka-lite # Unused in 2018; but remain as placeholders for Fedora 18 legacy (XO laptops) kalite_cron_enabled: False kalite_user: kalite @@ -331,7 +332,7 @@ kolibri_http_port: 8009 kiwix_install: True kiwix_enabled: True kiwix_port: 3000 -iiab_zim_path: /library/zims +iiab_zim_path: "{{ content_base }}/zims" # /library/zims moodle_install: False moodle_enabled: False @@ -372,7 +373,7 @@ transmission_peer_port: 51413 transmission_provision: True transmission_kalite_version: 0.17 -# A. Uncomment language(s) in /etc/iiab/local_vars.yml to download KA Lite videos to /library/transmission +# A. UNCOMMENT LANGUAGE(S) IN /etc/iiab/local_vars.yml TO DOWNLOAD KA Lite VIDEOS TO /library/transmission transmission_kalite_languages: #- english #- french @@ -431,9 +432,10 @@ calibre_unstable_debs: False calibre_via_python: False # Change calibre_port to 8010 if you're using XO laptops needing above idmgr ? calibre_port: 8080 -# Change calibre to XYZ add your own mnemonic URL like: http://box/XYZ -calibre_web_path: calibre #NEEDS WORK: https://github.com/iiab/iiab/issues/529 -# Avoid collisions with calibreweb_url: below! +# http://box:8080 & http://box:8080/mobile WORK FOR NOW, but short/mnemonic +# URL's like http://box/calibre DON'T YET WORK -- BOOKS RARELY DISPLAY: +calibre_web_path: calibre # NEEDS WORK: https://github.com/iiab/iiab/issues/529 +# Avoid URL collisions with calibreweb_url: below! # WARNING: Calibre-Web (below) depends on Calibre's own /usr/bin/ebook-convert # program, so we recommend you also install Calibre (above!) diff --git a/vars/local_vars_big.yml b/vars/local_vars_big.yml index ba6614808..37c818730 100644 --- a/vars/local_vars_big.yml +++ b/vars/local_vars_big.yml @@ -236,7 +236,7 @@ sugarizer_enabled: True # BitTorrent downloader for large Content Packs etc transmission_install: True transmission_enabled: True -# A. Uncomment language(s) to download KA Lite videos to /library/transmission +# A. UNCOMMENT LANGUAGE(S) TO DOWNLOAD KA Lite VIDEOS TO /library/transmission # using http://pantry.learningequality.org/downloads/ka-lite/0.17/content/ transmission_kalite_languages: #- english diff --git a/vars/local_vars_medium.yml b/vars/local_vars_medium.yml index fa40d5ca0..f8a6199aa 100644 --- a/vars/local_vars_medium.yml +++ b/vars/local_vars_medium.yml @@ -236,7 +236,7 @@ sugarizer_enabled: True # BitTorrent downloader for large Content Packs etc transmission_install: True transmission_enabled: True -# A. Uncomment language(s) to download KA Lite videos to /library/transmission +# A. UNCOMMENT LANGUAGE(S) TO DOWNLOAD KA Lite VIDEOS TO /library/transmission # using http://pantry.learningequality.org/downloads/ka-lite/0.17/content/ transmission_kalite_languages: #- english diff --git a/vars/local_vars_min.yml b/vars/local_vars_min.yml index bbab412b4..f246f8424 100644 --- a/vars/local_vars_min.yml +++ b/vars/local_vars_min.yml @@ -236,7 +236,7 @@ sugarizer_enabled: False # BitTorrent downloader for large Content Packs etc transmission_install: False transmission_enabled: False -# A. Uncomment language(s) to download KA Lite videos to /library/transmission +# A. UNCOMMENT LANGUAGE(S) TO DOWNLOAD KA Lite VIDEOS TO /library/transmission # using http://pantry.learningequality.org/downloads/ka-lite/0.17/content/ transmission_kalite_languages: #- english