mirror of
https://github.com/iiab/iiab.git
synced 2025-03-09 15:40:17 +00:00
commit
28e1565682
16 changed files with 45 additions and 54 deletions
22
README.md
22
README.md
|
@ -1,14 +1,14 @@
|
||||||
# Internet-in-a-Box (IIAB)
|
# Internet-in-a-Box (IIAB)
|
||||||
|
|
||||||
Welcome to the GitHub repository for Internet-in-a-Box (IIAB). IIAB is a small and inexpensive device which provides essential Internet resources (Wikipedia, OpenStreetMap, Khan Academy and others) *usable even when offline!*.
|
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!*
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
Internet-in-a-Box provides you the tools to DIY (download and customize) a local content hotspot or server, with the very best of the World’s Free Knowledge.
|
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.
|
||||||
|
|
||||||
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).
|
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 with schools, clinics and libraries around the world. *Thank you for being a part of our grassroots technology movement!*
|
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!*
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
@ -18,6 +18,10 @@ Please see "What are the best places for community support?" at http://FAQ.IIAB.
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
|
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!
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
#### Built with Ansible
|
#### Built with Ansible
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
@ -26,16 +30,18 @@ FYI we use [Ansible](http://wiki.laptop.org/go/IIAB/FAQ#What_is_Ansible_and_what
|
||||||
|
|
||||||
We greatly welcome contributions from educators, librarians *and* IT/UX/QA people of all kinds!
|
We greatly welcome contributions from educators, librarians *and* IT/UX/QA people of all kinds!
|
||||||
|
|
||||||
Please see "How can I help?" at http://FAQ.IIAB.IO
|
Please see "[How can I help?](http://wiki.laptop.org/go/IIAB/FAQ#How_can_I_help.3F)" at: http://FAQ.IIAB.IO
|
||||||
|
|
||||||
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.
|
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 open knowledge jewels, as well as "Sneakernet-of-Alexandria" distribution of local/indigenous content, when mass media channels do not serve grassroots voices.*
|
||||||
|
|
||||||
## Versioning
|
## Versions
|
||||||
|
|
||||||
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.
|
Pre-releases of Internet-in-a-Box (IIAB) undergo continuous QA / continuous deployment and are strongly recommended.
|
||||||
|
|
||||||
You can also track the latest Internet-in-a-Box (IIAB) [official releases here](https://github.com/iiab/iiab/releases).
|
Install our latest pre-release using the 1-line installer at: http://download.iiab.io
|
||||||
|
|
||||||
Finally older versions are also available, from [github.com/xsce](http://github.com/xsce) and [schoolserver.org](http://schoolserver.org).
|
You can also consider the <!--latest Internet-in-a-Box (IIAB)--> 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)
|
||||||
|
|
|
@ -10,7 +10,7 @@ CWD=`pwd`
|
||||||
OS=`grep ^ID= /etc/*release|cut -d= -f2`
|
OS=`grep ^ID= /etc/*release|cut -d= -f2`
|
||||||
OS=${OS//\"/}
|
OS=${OS//\"/}
|
||||||
MIN_RPI_KERN=4.9.59-v7+
|
MIN_RPI_KERN=4.9.59-v7+
|
||||||
MIN_ANSIBLE_VER=2.6.13
|
MIN_ANSIBLE_VER=2.6.14
|
||||||
|
|
||||||
if [ ! -f /etc/iiab/local_vars.yml ]; then
|
if [ ! -f /etc/iiab/local_vars.yml ]; then
|
||||||
|
|
||||||
|
|
|
@ -177,27 +177,7 @@ def set_lasttimestamp(ip):
|
||||||
conn.commit()
|
conn.commit()
|
||||||
|
|
||||||
# ################### Action routines based on OS ################3
|
# ################### Action routines based on OS ################3
|
||||||
def microsoft_splash(environ,start_response):
|
|
||||||
en_txt={ 'message':"Click on the button to go to the IIAB home page",\
|
|
||||||
"FQDN": fully_qualified_domain_name, \
|
|
||||||
'btn1':"GO TO IIAB HOME PAGE",'doc_root':get_iiab_env("WWWROOT")}
|
|
||||||
es_txt={ 'message':"Haga clic en el botón para ir a la página de inicio de IIAB",\
|
|
||||||
"FQDN": fully_qualified_domain_name, \
|
|
||||||
'btn1':"IIAB",'doc_root':get_iiab_env("WWWROOT")}
|
|
||||||
txt = en_txt
|
|
||||||
if lang == "en":
|
|
||||||
txt = en_txt
|
|
||||||
elif lang == "es":
|
|
||||||
txt = es_txt
|
|
||||||
response_body = str(j2_env.get_template("simple.template").render(**txt))
|
|
||||||
status = '200 OK'
|
|
||||||
response_headers = [('Content-type','text/html'),
|
|
||||||
('Content-Length',str(len(response_body)))]
|
|
||||||
start_response(status, response_headers)
|
|
||||||
return [response_body]
|
|
||||||
|
|
||||||
def microsoft(environ,start_response):
|
def microsoft(environ,start_response):
|
||||||
global MICROSOFT_TRIGGERED
|
|
||||||
# firefox -- seems both mac and Windows use it
|
# firefox -- seems both mac and Windows use it
|
||||||
agent = environ.get('HTTP_USER_AGENT','default_agent')
|
agent = environ.get('HTTP_USER_AGENT','default_agent')
|
||||||
if agent.startswith('Mozilla'):
|
if agent.startswith('Mozilla'):
|
||||||
|
@ -205,7 +185,7 @@ def microsoft(environ,start_response):
|
||||||
logger.debug("sending microsoft redirect")
|
logger.debug("sending microsoft redirect")
|
||||||
response_body = ""
|
response_body = ""
|
||||||
status = '302 Moved Temporarily'
|
status = '302 Moved Temporarily'
|
||||||
response_headers = [('Location','/microsoft_splash'),
|
response_headers = [('Location','http://box.lan/home'),
|
||||||
('Content-type','text/html'),
|
('Content-type','text/html'),
|
||||||
('Content-Length',str(len(response_body)))]
|
('Content-Length',str(len(response_body)))]
|
||||||
start_response(status, response_headers)
|
start_response(status, response_headers)
|
||||||
|
@ -228,8 +208,8 @@ def android(environ, start_response):
|
||||||
else:
|
else:
|
||||||
ip = environ['REMOTE_ADDR'].strip()
|
ip = environ['REMOTE_ADDR'].strip()
|
||||||
system,system_version = platform_info(ip)
|
system,system_version = platform_info(ip)
|
||||||
if not system_version:
|
if system_version is None:
|
||||||
put_302(environ, start_response)
|
return put_302(environ, start_response)
|
||||||
if system_version[0:1] < '6':
|
if system_version[0:1] < '6':
|
||||||
logger.debug("system < 6:%s"%system_version)
|
logger.debug("system < 6:%s"%system_version)
|
||||||
location = '/android_splash'
|
location = '/android_splash'
|
||||||
|
@ -340,7 +320,7 @@ def banner(environ, start_response):
|
||||||
status = '200 OK'
|
status = '200 OK'
|
||||||
headers = [('Content-type', 'image/png')]
|
headers = [('Content-type', 'image/png')]
|
||||||
start_response(status, headers)
|
start_response(status, headers)
|
||||||
image = open("%s/iiab-menu/menu-files/images/iiab_banner6.png"%doc_root, "rb").read()
|
image = open("%s/js-menu/menu-files/images/iiab_banner6.png"%doc_root, "rb").read()
|
||||||
return [image]
|
return [image]
|
||||||
|
|
||||||
def bootstrap(environ, start_response):
|
def bootstrap(environ, start_response):
|
||||||
|
@ -542,10 +522,6 @@ def application (environ, start_response):
|
||||||
return android(environ, start_response)
|
return android(environ, start_response)
|
||||||
|
|
||||||
# microsoft
|
# microsoft
|
||||||
if environ['PATH_INFO'] == "/microsoft_splash":
|
|
||||||
return microsoft_splash(environ, start_response)
|
|
||||||
if environ['PATH_INFO'] == "/connecttest.txt" and not is_inactive(ip):
|
|
||||||
return microsoft_connect(environ, start_response)
|
|
||||||
if environ['HTTP_HOST'] == "ipv6.msftncsi.com" or\
|
if environ['HTTP_HOST'] == "ipv6.msftncsi.com" or\
|
||||||
environ['HTTP_HOST'] == "detectportal.firefox.com" or\
|
environ['HTTP_HOST'] == "detectportal.firefox.com" or\
|
||||||
environ['HTTP_HOST'] == "ipv6.msftncsi.com.edgesuite.net" or\
|
environ['HTTP_HOST'] == "ipv6.msftncsi.com.edgesuite.net" or\
|
||||||
|
@ -557,7 +533,7 @@ def application (environ, start_response):
|
||||||
environ['HTTP_HOST'] == "teredo.ipv6.microsoft.com.nsatc.net":
|
environ['HTTP_HOST'] == "teredo.ipv6.microsoft.com.nsatc.net":
|
||||||
return microsoft(environ, start_response)
|
return microsoft(environ, start_response)
|
||||||
|
|
||||||
logger.debug("executing the default 204 response. [%s"%data)
|
logger.debug("executing the default 302 response. [%s"%data)
|
||||||
return put_302(environ,start_response)
|
return put_302(environ,start_response)
|
||||||
|
|
||||||
# Instantiate the server
|
# Instantiate the server
|
||||||
|
|
|
@ -52,6 +52,6 @@ There are a number of seemingly similar usernames and passwords in this installa
|
||||||
More Tips & Tricks
|
More Tips & Tricks
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
If you're online, please see "Elgg Administration: What tips & tricks exist? " at: http://FAQ.IIAB.IO
|
If you're online, please see "Elgg Administration: What tips & tricks exist?" at: http://FAQ.IIAB.IO
|
||||||
|
|
||||||
If you're offline, Internet-in-a-Box's FAQ (Frequently Asked Questions) is here: http://box/info
|
If you're offline, Internet-in-a-Box's FAQ (Frequently Asked Questions) is here: http://box/info
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing!
|
# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing!
|
||||||
|
|
||||||
# Info needed to install Lokole
|
# Info needed to install Lokole
|
||||||
lokole_version: "0.1.36"
|
lokole_version: "0.1.38"
|
||||||
lokole_admin_user: admin # lowercase seems nec here (even though uppercase Admin/changeme is IIAB's OOB recommendation!)
|
lokole_admin_user: admin # lowercase seems nec here (even though uppercase Admin/changeme is IIAB's OOB recommendation!)
|
||||||
lokole_admin_password: changeme
|
lokole_admin_password: changeme
|
||||||
lokole_install_path: "{{ content_base }}/lokole" # /library/lokole
|
lokole_install_path: "{{ content_base }}/lokole" # /library/lokole
|
||||||
|
|
|
@ -14,13 +14,13 @@ Prior to installing IIAB, make sure your `/etc/iiab/local_vars.yml <http://wiki.
|
||||||
nodered_install: True
|
nodered_install: True
|
||||||
nodered_enabled: True
|
nodered_enabled: True
|
||||||
|
|
||||||
After installing Node-RED as part IIAB, please log in to http://box/nodered or http://box.lan:1880 with:
|
After installing Node-RED as part IIAB, please log in to http://box/nodered or http://box:1880/nodered with:
|
||||||
|
|
||||||
Username: ``Admin``
|
Username: ``Admin``
|
||||||
|
|
||||||
Password: ``changeme``
|
Password: ``changeme``
|
||||||
|
|
||||||
To change this password, please see: `roles/nodered/defaults/main.yml <defaults/main.yml#L10-L25>`_
|
To change this password, please see: `roles/nodered/defaults/main.yml <defaults/main.yml#L11-L26>`_
|
||||||
|
|
||||||
You can monitor the Node-RED service with command::
|
You can monitor the Node-RED service with command::
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,12 @@
|
||||||
# nodered_enabled: False
|
# nodered_enabled: False
|
||||||
# nodered_port: 1880
|
# nodered_port: 1880
|
||||||
|
|
||||||
|
# For http://box/nodered reverse proxy of http://box:1880/nodered
|
||||||
|
# nodered_web_path: nodered
|
||||||
|
|
||||||
# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml
|
# 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 nec, change them by editing /etc/iiab/local_vars.yml prior to installing!
|
||||||
|
|
||||||
nodered_web_path: nodered # http://box/nodered reverse proxies http://box:1880
|
|
||||||
|
|
||||||
nodered_user: Admin
|
nodered_user: Admin
|
||||||
nodered_password: changeme # REMOVE THIS PASSWORD REMINDER LINE AS NECESSARY
|
nodered_password: changeme # REMOVE THIS PASSWORD REMINDER LINE AS NECESSARY
|
||||||
nodered_password_hash: $2b$08$oxgvoU9et3deSbXY8UNVTOWHSTQAyEASIal86RHVMqYQJhpPMNz7q
|
nodered_password_hash: $2b$08$oxgvoU9et3deSbXY8UNVTOWHSTQAyEASIal86RHVMqYQJhpPMNz7q
|
||||||
|
|
|
@ -192,7 +192,7 @@
|
||||||
name: proxy_wstunnel
|
name: proxy_wstunnel
|
||||||
when: nodered_install
|
when: nodered_install
|
||||||
|
|
||||||
- name: Restart Apache service ({{ apache_service }}) to enable/disable http://box/nodered (not just http://box:{{ nodered_port }})
|
- name: Restart Apache service ({{ apache_service }}) to enable/disable http://box/nodered (not just http://box:{{ nodered_port }}/nodered)
|
||||||
systemd:
|
systemd:
|
||||||
#daemon_reload: yes
|
#daemon_reload: yes
|
||||||
name: "{{ apache_service }}" # httpd or apache2
|
name: "{{ apache_service }}" # httpd or apache2
|
||||||
|
|
|
@ -33,6 +33,13 @@ You can monitor the FreePBX service with command::
|
||||||
|
|
||||||
systemctl status freepbx
|
systemctl status freepbx
|
||||||
|
|
||||||
|
Raspberry Pi Known Issue
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
As of 2019-02-14, "systemctl restart freepbx" fails more than 50% of the time when run on a `BIG-sized <http://wiki.laptop.org/go/IIAB/FAQ#What_services_.28IIAB_apps.29_are_suggested_during_installation.3F>`_ install of IIAB 6.7 on RPi 3 or RPi 3 B+.
|
||||||
|
|
||||||
|
It is possible that FreePBX restarts much more reliably when run on a MIN-sized install of IIAB? Please `contact us <http://wiki.laptop.org/go/IIAB/FAQ#What_are_the_best_places_for_community_support.3F>`_ if you can assist here in any way: `#1493 <https://github.com/iiab/iiab/issues/1493>`_
|
||||||
|
|
||||||
Raspberry Pi Zero W Warning
|
Raspberry Pi Zero W Warning
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
CURR_VER="undefined" # Ansible version you currently have installed
|
CURR_VER="undefined" # Ansible version you currently have installed
|
||||||
GOOD_VER="2.7.7" # For XO laptops (pip install) & CentOS (yum install rpm)
|
GOOD_VER="2.7.8" # For XO laptops (pip install) & CentOS (yum install rpm)
|
||||||
# On other OS's we attempt the latest from PPA, which might be more recent
|
# On other OS's we attempt the latest from PPA, which might be more recent
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
CURR_VER="undefined" # Ansible version you currently have installed
|
CURR_VER="undefined" # Ansible version you currently have installed
|
||||||
GOOD_VER="2.7.7" # For XO laptops (pip install) & CentOS (yum install rpm)
|
GOOD_VER="2.7.8" # For XO laptops (pip install) & CentOS (yum install rpm)
|
||||||
# On other OS's we attempt the latest from PPA, which might be more recent
|
# On other OS's we attempt the latest from PPA, which might be more recent
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
CURR_VER="undefined" # Ansible version you currently have installed
|
CURR_VER="undefined" # Ansible version you currently have installed
|
||||||
GOOD_VER="2.7.7" # For XO laptops (pip install) & CentOS (yum install rpm)
|
GOOD_VER="2.7.8" # For XO laptops (pip install) & CentOS (yum install rpm)
|
||||||
# On other OS's we attempt the latest from PPA, which might be more recent
|
# On other OS's we attempt the latest from PPA, which might be more recent
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
|
@ -292,12 +292,13 @@ nodejs_version: 10.x # was 8.x until 2019-02-02
|
||||||
nodered_install: False
|
nodered_install: False
|
||||||
nodered_enabled: False
|
nodered_enabled: False
|
||||||
nodered_port: 1880
|
nodered_port: 1880
|
||||||
|
nodered_web_path: nodered
|
||||||
|
|
||||||
nextcloud_install: False
|
nextcloud_install: False
|
||||||
nextcloud_enabled: False
|
nextcloud_enabled: False
|
||||||
|
|
||||||
# A full-featured PBX (for rural telephony, etc) based on Asterisk and FreePBX.
|
# A full-featured PBX (for rural telephony, etc) based on Asterisk and FreePBX.
|
||||||
# Should work on Ubuntu 18.04, Debian 9 and Raspbian/RPi 3. Uses Node.js 10.x
|
# Works on Ubuntu 18.04, Debian 9. Experimental on Rasp/RPi 3. Uses Node.js 10.x
|
||||||
pbx_install: False
|
pbx_install: False
|
||||||
pbx_enabled: False
|
pbx_enabled: False
|
||||||
asterisk_chan_dongle: False
|
asterisk_chan_dongle: False
|
||||||
|
|
|
@ -196,9 +196,9 @@ nextcloud_install: True
|
||||||
nextcloud_enabled: True
|
nextcloud_enabled: True
|
||||||
|
|
||||||
# A full-featured PBX (for rural telephony, etc) based on Asterisk and FreePBX.
|
# A full-featured PBX (for rural telephony, etc) based on Asterisk and FreePBX.
|
||||||
# Should work on Ubuntu 18.04, Debian 9 and Raspbian/RPi 3. Uses Node.js 10.x
|
# Works on Ubuntu 18.04, Debian 9. Experimental on Rasp/RPi 3. Uses Node.js 10.x
|
||||||
pbx_install: True
|
pbx_install: False
|
||||||
pbx_enabled: True
|
pbx_enabled: False
|
||||||
asterisk_chan_dongle: False
|
asterisk_chan_dongle: False
|
||||||
|
|
||||||
# If using WordPress intensively, set apache_high_php_limits in 3-BASE-SERVER
|
# If using WordPress intensively, set apache_high_php_limits in 3-BASE-SERVER
|
||||||
|
|
|
@ -196,7 +196,7 @@ nextcloud_install: True
|
||||||
nextcloud_enabled: True
|
nextcloud_enabled: True
|
||||||
|
|
||||||
# A full-featured PBX (for rural telephony, etc) based on Asterisk and FreePBX.
|
# A full-featured PBX (for rural telephony, etc) based on Asterisk and FreePBX.
|
||||||
# Should work on Ubuntu 18.04, Debian 9 and Raspbian/RPi 3. Uses Node.js 10.x
|
# Works on Ubuntu 18.04, Debian 9. Experimental on Rasp/RPi 3. Uses Node.js 10.x
|
||||||
pbx_install: False
|
pbx_install: False
|
||||||
pbx_enabled: False
|
pbx_enabled: False
|
||||||
asterisk_chan_dongle: False
|
asterisk_chan_dongle: False
|
||||||
|
|
|
@ -196,7 +196,7 @@ nextcloud_install: False
|
||||||
nextcloud_enabled: False
|
nextcloud_enabled: False
|
||||||
|
|
||||||
# A full-featured PBX (for rural telephony, etc) based on Asterisk and FreePBX.
|
# A full-featured PBX (for rural telephony, etc) based on Asterisk and FreePBX.
|
||||||
# Should work on Ubuntu 18.04, Debian 9 and Raspbian/RPi 3. Uses Node.js 10.x
|
# Works on Ubuntu 18.04, Debian 9. Experimental on Rasp/RPi 3. Uses Node.js 10.x
|
||||||
pbx_install: False
|
pbx_install: False
|
||||||
pbx_enabled: False
|
pbx_enabled: False
|
||||||
asterisk_chan_dongle: False
|
asterisk_chan_dongle: False
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue