diff --git a/roles/calibre-web/defaults/main.yml b/roles/calibre-web/defaults/main.yml index 57b109bc1..a9d134696 100644 --- a/roles/calibre-web/defaults/main.yml +++ b/roles/calibre-web/defaults/main.yml @@ -14,7 +14,7 @@ # 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_version: 0.6.8 # WAS: master, 0.6.4, 0.6.5, 0.6.6, 0.6.7 +calibreweb_version: master # WAS: master, 0.6.4, 0.6.5, 0.6.6, 0.6.7, 0.6.8 calibreweb_venv_path: /usr/local/calibre-web-py3 calibreweb_exec_path: "{{ calibreweb_venv_path }}/cps.py" diff --git a/roles/gitea/defaults/main.yml b/roles/gitea/defaults/main.yml index ea5dc28d2..a19a2506a 100644 --- a/roles/gitea/defaults/main.yml +++ b/roles/gitea/defaults/main.yml @@ -9,7 +9,7 @@ # Info needed to install Gitea: -gitea_version: 1.12.2 +gitea_version: 1.12.3 iset_suffixes: i386: 386 x86_64: amd64 diff --git a/roles/kiwix/tasks/install.yml b/roles/kiwix/tasks/install.yml index 104d6bb7c..acc981a31 100644 --- a/roles/kiwix/tasks/install.yml +++ b/roles/kiwix/tasks/install.yml @@ -117,6 +117,10 @@ #mode: '0644' when: apache_installed is defined +# install kiwix app +- name: Install Kiwix Android app + include_tasks: kiwix-apk.yml + when: kiwix_incl_apk # 5. RECORD Kiwix AS INSTALLED diff --git a/roles/kiwix/tasks/kiwix-apk.yml b/roles/kiwix/tasks/kiwix-apk.yml new file mode 100644 index 000000000..1a9e61d11 --- /dev/null +++ b/roles/kiwix/tasks/kiwix-apk.yml @@ -0,0 +1,18 @@ +# Install kiwix android app apk for downloading +- name: Create {{ doc_root }}{{ kiwix_apk_url }} directory + file: + path: "{{ doc_root }}{{ kiwix_apk_url }}" + state: directory + +- name: Download kiwix.apk to {{ doc_root }}{{ kiwix_apk_url }} + get_url: + url: "{{ kiwix_apk_src }}" # https://download.kiwix.org/release/kiwix-android/kiwix.apk + dest: "{{ doc_root }}{{ kiwix_apk_url }}" + timeout: "{{ download_timeout }}" + when: internet_available | bool + +- name: Symlink {{ doc_root }}{{ kiwix_apk_url }}/zims -> {{ iiab_zim_path }}/content + file: + src: "{{ iiab_zim_path }}/content" # /library/zims/content + path: "{{ doc_root }}{{ kiwix_apk_url }}/zims" # /library/www/html/softare/kiwix/zims + state: link diff --git a/roles/network/tasks/rpi_debian.yml b/roles/network/tasks/rpi_debian.yml index 426685864..f31fb8842 100644 --- a/roles/network/tasks/rpi_debian.yml +++ b/roles/network/tasks/rpi_debian.yml @@ -41,6 +41,12 @@ dest: /etc/network/interfaces.d/iiab 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_wired_lan_iface is defined + +- name: Use bind-dynamic for dnsmasq + template: + dest: /etc/dnsmasq.d/dnsmasq-iiab + src: network/dnsmasq-iiab when: iiab_lan_iface == "br0" - name: Stopping services @@ -60,6 +66,7 @@ name: networking enabled: yes state: restarted + when: iiab_wired_lan_iface is defined - name: Restart hostapd when WiFi is present but not when using WiFi as gateway systemd: diff --git a/roles/network/templates/network/dnsmasq-iiab b/roles/network/templates/network/dnsmasq-iiab index ca3911e4f..691dd0b42 100644 --- a/roles/network/templates/network/dnsmasq-iiab +++ b/roles/network/templates/network/dnsmasq-iiab @@ -1,7 +1,11 @@ #IIAB +{% if is_raspbian %} +bind-dynamic +{% else %} bind-interfaces -# Wan nameserver if manually set +{% endif %} {% if wan_nameserver is not none %} +# Wan nameserver if manually set no-resolv server={{ wan_nameserver }} {% endif %} diff --git a/roles/nginx/tasks/install.yml b/roles/nginx/tasks/install.yml index 359e1bdd8..45a7b2402 100644 --- a/roles/nginx/tasks/install.yml +++ b/roles/nginx/tasks/install.yml @@ -33,6 +33,7 @@ with_items: - { src: 'server.conf.j2', dest: '/etc/nginx/server.conf' } - { src: 'nginx.conf.j2', dest: '/etc/nginx/nginx.conf' } + - { src: 'mime.types.j2', dest: '/etc/nginx/mime.types' } #- { src: 'ports.conf.j2', dest: '/etc/{{ apache_service }}/ports.conf' } # Moved to enable-or-disable.yml #- { src: 'iiab.conf.j2', dest: "{{ nginx_conf_dir }}/iiab.conf" } # Moved into homepage.yml below diff --git a/roles/nginx/templates/iiab.conf.j2 b/roles/nginx/templates/iiab.conf.j2 index 76b8c0aa0..954d0f805 100644 --- a/roles/nginx/templates/iiab.conf.j2 +++ b/roles/nginx/templates/iiab.conf.j2 @@ -26,3 +26,15 @@ location /js-menu/ { fancyindex off; # autoindex off; } } + +location /software/ { + fancyindex on; # Enable fancy indexes. + fancyindex_exact_size off; # Output human-readable file sizes. + location ~* \.(apk)$ { + add_header Content-Type application/vnd.android.package-archive; + } + + location ~* \.(zim)$ { + add_header Content-Type application/zip; + } +} diff --git a/roles/nginx/templates/mime.types.j2 b/roles/nginx/templates/mime.types.j2 new file mode 100644 index 000000000..ce5c12a66 --- /dev/null +++ b/roles/nginx/templates/mime.types.j2 @@ -0,0 +1,90 @@ +types { + text/html html htm shtml; + text/css css; + text/xml xml; + image/gif gif; + image/jpeg jpeg jpg; + application/javascript js; + application/atom+xml atom; + application/rss+xml rss; + + text/mathml mml; + text/plain txt; + text/vnd.sun.j2me.app-descriptor jad; + text/vnd.wap.wml wml; + text/x-component htc; + + image/png png; + image/tiff tif tiff; + image/vnd.wap.wbmp wbmp; + image/x-icon ico; + image/x-jng jng; + image/x-ms-bmp bmp; + image/svg+xml svg svgz; + image/webp webp; + + application/font-woff woff; + application/java-archive jar war ear; + application/json json; + application/mac-binhex40 hqx; + application/msword doc; + application/pdf pdf; + application/postscript ps eps ai; + application/rtf rtf; + application/vnd.apple.mpegurl m3u8; + application/vnd.ms-excel xls; + application/vnd.ms-fontobject eot; + application/vnd.ms-powerpoint ppt; + application/vnd.wap.wmlc wmlc; + application/vnd.google-earth.kml+xml kml; + application/vnd.google-earth.kmz kmz; + application/x-7z-compressed 7z; + application/x-cocoa cco; + application/x-java-archive-diff jardiff; + application/x-java-jnlp-file jnlp; + application/x-makeself run; + application/x-perl pl pm; + application/x-pilot prc pdb; + application/x-rar-compressed rar; + application/x-redhat-package-manager rpm; + application/x-sea sea; + application/x-shockwave-flash swf; + application/x-stuffit sit; + application/x-tcl tcl tk; + application/x-x509-ca-cert der pem crt; + application/x-xpinstall xpi; + application/xhtml+xml xhtml; + application/xspf+xml xspf; + application/zip zip; + application/vnd.android.package-archive apk; + + application/octet-stream bin exe dll; + application/octet-stream deb; + application/octet-stream dmg; + application/octet-stream iso img; + application/octet-stream msi msp msm; + application/octet-stream zim; + + application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; + application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; + + audio/midi mid midi kar; + audio/mpeg mp3; + audio/ogg ogg; + audio/x-m4a m4a; + audio/x-realaudio ra; + + video/3gpp 3gpp 3gp; + video/mp2t ts; + video/mp4 mp4; + video/mpeg mpeg mpg; + video/quicktime mov; + video/webm webm; + video/x-flv flv; + video/x-m4v m4v; + video/x-mng mng; + video/x-ms-asf asx asf; + video/x-ms-wmv wmv; + video/x-msvideo avi; +} diff --git a/vars/default_vars.yml b/vars/default_vars.yml index 413b963fb..e2bb37e3c 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -450,6 +450,9 @@ kiwix_install: True kiwix_enabled: True kiwix_port: 3000 iiab_zim_path: "{{ content_base }}/zims" # /library/zims +kiwix_incl_apk: False +kiwix_apk_url: /software/kiwix +kiwix_apk_src: https://download.kiwix.org/release/kiwix-android/kiwix.apk moodle_install: False moodle_enabled: False diff --git a/vars/local_vars_medical.yml b/vars/local_vars_medical.yml index f8a48535f..c9f5c68bf 100644 --- a/vars/local_vars_medical.yml +++ b/vars/local_vars_medical.yml @@ -1,4 +1,5 @@ # Default overrides +kiwix_incl_apk: True kalite_install: False kalite_enabled: False captiveportal_install: True