mirror of
https://github.com/iiab/iiab.git
synced 2025-02-13 11:42:08 +00:00
Merge pull request #2378 from holta/calibre-2020
Cleaner roles: Calibre (its conversion tool can supplement Calibre-Web) & KA Lite
This commit is contained in:
commit
1d8ba6a818
29 changed files with 110 additions and 413 deletions
|
@ -1,49 +0,0 @@
|
|||
# 5. WRAP UP: ENABLE CALIBRE SERVICE, http://box/books ETC
|
||||
|
||||
# http://box:8080 & http://box:8080/mobile WORK BUT OTHER URL'S LIKE http://box/calibre ARE A MESS (BOOKS RARELY DISPLAY)
|
||||
#
|
||||
# 2018-08-27 POSSIBLE FIX...CONSIDER THIS ProxyPass / ProxyPassReverse TECHNIQUE:
|
||||
# https://github.com/iiab/iiab/tree/master/roles/calibre-web/templates/calibre-web.conf.j2
|
||||
# (anyway this works great for calibre-web, allowing http://box/books
|
||||
# to work even better than http://box:8083 when box == 192.168.0.x !)
|
||||
- name: Attempt to enable http://box/calibre via Apache (UNTESTED)
|
||||
command: a2ensite calibre.conf
|
||||
when: apache_installed and calibre_enabled
|
||||
|
||||
- name: Attempt to disable http://box/calibre via Apache (UNTESTED)
|
||||
command: a2dissite calibre.conf
|
||||
when: apache_installed and not calibre_enabled
|
||||
|
||||
- name: Enable & Start service 'calibre-serve' (/usr/bin/calibre-server by Kovid Goyal)
|
||||
service:
|
||||
name: calibre-serve
|
||||
enabled: yes
|
||||
state: started
|
||||
when: calibre_enabled | bool
|
||||
#async: 900
|
||||
#poll: 5
|
||||
|
||||
- name: Reload Apache service ({{ apache_service }})
|
||||
systemd:
|
||||
name: "{{ apache_service }}"
|
||||
state: reloaded
|
||||
|
||||
- name: Add 'calibre' variable values to {{ iiab_ini_file }}
|
||||
ini_file:
|
||||
path: "{{ iiab_ini_file }}"
|
||||
section: calibre
|
||||
option: "{{ item.option }}"
|
||||
value: "{{ item.value | string }}"
|
||||
with_items:
|
||||
- option: name
|
||||
value: Calibre
|
||||
- option: description
|
||||
value: '"Calibre is an extremely popular personal library system for e-books."'
|
||||
- option: url
|
||||
value: "{{ calibre_src_url }}"
|
||||
- option: database
|
||||
value: "{{ calibre_dbpath }}"
|
||||
- option: port
|
||||
value: "{{ calibre_port }}"
|
||||
- option: calibre_enabled
|
||||
value: "{{ calibre_enabled }}"
|
|
@ -1,25 +1,28 @@
|
|||
# 1. INSTALL THE LATEST CALIBRE 3.X+ (calibre, calibredb, calibre-server etc) ON ALL OS'S
|
||||
# 1. INSTALL CALIBRE 3.39.1+ or 4.12+ (calibre, calibredb, calibre-server etc) ON ALL OS'S
|
||||
|
||||
- name: Does /usr/bin/calibre exist?
|
||||
stat:
|
||||
path: "/usr/bin/calibre"
|
||||
register: calib_executable
|
||||
|
||||
- name: "Install OS's latest packages: calibre, calibre-bin (IF not rpi AND /usr/bin/calibre MISSING)"
|
||||
- name: "Install OS's latest packages: calibre, calibre-bin"
|
||||
package:
|
||||
name:
|
||||
- calibre
|
||||
- calibre-bin
|
||||
state: latest
|
||||
when: internet_available and not is_raspbian and (not calib_executable.stat.exists)
|
||||
|
||||
- name: Install Calibre .debs IF calibre_via_debs (AND /usr/bin/calibre WAS MISSING)
|
||||
include_tasks: debs.yml
|
||||
when: calibre_via_debs and (not calib_executable.stat.exists)
|
||||
# 2020-04-29: AT YOUR OWN RISK, this *sometimes* works, e.g. to upgrade from
|
||||
# Raspbian 10's Calibre 3.39.1 to "4.99.4+dfsg+really4.12.0-1" or higher, from:
|
||||
# http://raspbian.raspberrypi.org/raspbian/pool/main/c/calibre/
|
||||
# http://archive.raspbian.org/raspbian/pool/main/c/calibre/
|
||||
#
|
||||
#- name: Install Calibre via .debs (if Raspbian)
|
||||
# command: scripts/calibre-install-latest-rpi.sh # WORKED for Calibre 3.33.1 on 2018-10-23. And Calibre 3.28 on 2018-07-26 (PR #971). Likewise for Calibre 3.26.x. FAILED with Calibre 3.24+ ("calibre : Depends: python-pyqt5 (>= 5.10.1+dfsg-2) but 5.10.1+dfsg-1+rpi1 is to be installed") since June 2018.
|
||||
# when: is_raspbian | bool
|
||||
|
||||
- name: Install Calibre via calibre-installer.py IF calibre_via_python (AND /usr/bin/calibre WAS MISSING)
|
||||
include_tasks: py-installer.yml
|
||||
when: calibre_via_python and (not calib_executable.stat.exists)
|
||||
# 2020-04-29: Can work *IF* you do 'apt install python2' and change top line
|
||||
# of /opt/iiab/downloads/calibre-installer.py from '#!/usr/bin/env python2'
|
||||
# to '#!/usr/bin/python2' e.g. to upgrade Calibre 4.12 on Ubuntu 20.04 LTS.
|
||||
#
|
||||
#- name: Install Calibre via py-installer.yml -> calibre-installer.py (if not Raspbian)
|
||||
# include_tasks: py-installer.yml
|
||||
# when: not is_raspbian # True Debian or any Ubuntu?
|
||||
|
||||
# SEE calibre_via_python's value vars/default_vars.yml, vars/ubuntu-18.yml &
|
||||
# vars/raspbian-9.yml: try to AVOID Python installer on Raspbian since its
|
||||
|
@ -34,19 +37,13 @@
|
|||
|
||||
# 2. SYSTEMD SERVICES
|
||||
|
||||
- name: Create calibre-serve.service and calibre.conf (IF /usr/bin/calibre WAS MISSING)
|
||||
- name: Create /etc/systemd/system/calibre-serve.service and /etc/calibre.conf
|
||||
template:
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
owner: root
|
||||
group: root
|
||||
mode: "{{ item.mode }}"
|
||||
backup: no
|
||||
#register: calibre_config
|
||||
with_items:
|
||||
- { src: 'calibre-serve.service.j2', dest: '/etc/systemd/system/calibre-serve.service', mode: '0644'}
|
||||
- { src: 'calibre.conf', dest: '/etc/{{ apache_conf_dir }}', mode: '0644'}
|
||||
when: (not calib_executable.stat.exists)
|
||||
- { src: 'calibre-serve.service.j2', dest: '/etc/systemd/system/calibre-serve.service'}
|
||||
- { src: 'calibre.conf', dest: '/etc/{{ apache_conf_dir }}'}
|
||||
|
||||
- name: Stop service 'calibre-serve' (/usr/bin/calibre-server by Kovid Goyal)
|
||||
systemd:
|
||||
|
@ -57,20 +54,15 @@
|
|||
|
||||
# 3. CREATE USER DATABASE
|
||||
|
||||
- name: Create /library/calibre (mandatory since Calibre 3.x)
|
||||
- name: Create {{ calibre_dbpath }} (mandatory since Calibre 3.x)
|
||||
file:
|
||||
path: "{{ calibre_dbpath }}"
|
||||
path: "{{ calibre_dbpath }}" # /library/calibre
|
||||
state: directory
|
||||
#mode: 0755
|
||||
|
||||
- name: Copy template userdb to /library/calibre/users.sqlite (IF /usr/bin/calibre WAS MISSING)
|
||||
- name: Copy template userdb to {{ calibre_userdb }}
|
||||
copy:
|
||||
src: /opt/iiab/iiab/roles/calibre/templates/users.sqlite
|
||||
dest: "{{ calibre_userdb }}"
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
when: (not calib_executable.stat.exists)
|
||||
dest: "{{ calibre_userdb }}" # /library/calibre/users.sqlite
|
||||
|
||||
|
||||
# 4. CREATE CONTENT DATABASE WITH A SAMPLE BOOK (REQUIRED AS OF CALIBRE 3.x)
|
||||
|
|
|
@ -1,5 +1,83 @@
|
|||
- include_tasks: install.yml
|
||||
when: calibre_install and not calibre_installed is defined
|
||||
# "How do i fail a task in Ansible if the variable contains a boolean value?
|
||||
# I want to perform input validation for Ansible playbooks"
|
||||
# https://stackoverflow.com/questions/46664127/how-do-i-fail-a-task-in-ansible-if-the-variable-contains-a-boolean-value-i-want/46667499#46667499
|
||||
|
||||
- include_tasks: enable.yml
|
||||
when: calibre_install or calibre_installed is defined
|
||||
# We assume 0-init/tasks/validate_vars.yml has DEFINITELY been run, so no need
|
||||
# to re-check whether vars are defined here. As Ansible vars cannot be unset:
|
||||
# https://serverfault.com/questions/856729/how-to-destroy-delete-unset-a-variable-value-in-ansible
|
||||
|
||||
- name: Assert that "calibre_install is sameas true" (boolean not string etc)
|
||||
assert:
|
||||
that: calibre_install is sameas true
|
||||
fail_msg: "PLEASE SET 'calibre_install: True' e.g. IN: /etc/iiab/local_vars.yml"
|
||||
quiet: yes
|
||||
|
||||
- name: Assert that "calibre_enabled | type_debug == 'bool'" (boolean not string etc)
|
||||
assert:
|
||||
that: calibre_enabled | type_debug == 'bool'
|
||||
fail_msg: "PLEASE GIVE VARIABLE 'calibre_enabled' A PROPER (UNQUOTED) ANSIBLE BOOLEAN VALUE e.g. IN: /etc/iiab/local_vars.yml"
|
||||
quiet: yes
|
||||
|
||||
|
||||
- name: Install Calibre if 'calibre_installed' not defined, e.g. in {{ iiab_state_file }} # /etc/iiab/iiab_state.yml
|
||||
include_tasks: install.yml
|
||||
when: calibre_installed is undefined
|
||||
|
||||
# http://box:8080 & http://box:8080/mobile WORK BUT OTHER URL'S LIKE http://box/calibre ARE A MESS (BOOKS RARELY DISPLAY)
|
||||
#
|
||||
# 2018-08-27 POSSIBLE FIX...CONSIDER THIS ProxyPass / ProxyPassReverse TECHNIQUE:
|
||||
# https://github.com/iiab/iiab/tree/master/roles/calibre-web/templates/calibre-web.conf.j2
|
||||
# (anyway this works great for calibre-web, allowing http://box/books
|
||||
# to work even better than http://box:8083 when box == 192.168.0.x !)
|
||||
#
|
||||
#- name: Attempt to enable http://box/calibre via Apache (UNTESTED)
|
||||
# command: a2ensite calibre.conf
|
||||
# when: apache_installed and calibre_enabled
|
||||
#
|
||||
#- name: Attempt to disable http://box/calibre via Apache (UNTESTED)
|
||||
# command: a2dissite calibre.conf
|
||||
# when: apache_installed and not calibre_enabled
|
||||
|
||||
- name: Enable & (Re)Start 'calibre-serve' service, if calibre_enabled
|
||||
systemd:
|
||||
daemon_reload: yes
|
||||
name: calibre-serve
|
||||
enabled: yes
|
||||
state: restarted
|
||||
when: calibre_enabled | bool
|
||||
|
||||
- name: Disable & Stop 'calibre-serve' service, if not calibre_enabled
|
||||
systemd:
|
||||
name: calibre-serve
|
||||
enabled: no
|
||||
state: stopped
|
||||
when: not calibre_enabled
|
||||
|
||||
#- name: Enable/Disable/Restart Apache if primary
|
||||
# include_tasks: apache.yml
|
||||
# when: not nginx_enabled
|
||||
#
|
||||
#- name: Enable/Disable/Restart NGINX if primary
|
||||
# include_tasks: nginx.yml
|
||||
# when: nginx_enabled | bool
|
||||
|
||||
|
||||
- name: Add 'calibre' variable values to {{ iiab_ini_file }}
|
||||
ini_file:
|
||||
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
|
||||
section: calibre
|
||||
option: "{{ item.option }}"
|
||||
value: "{{ item.value | string }}"
|
||||
with_items:
|
||||
- option: name
|
||||
value: Calibre
|
||||
- option: description
|
||||
value: '"Calibre is an extremely popular personal library system for e-books."'
|
||||
- option: calibre_src_url
|
||||
value: "{{ calibre_src_url }}"
|
||||
- option: calibre_dbpath
|
||||
value: "{{ calibre_dbpath }}"
|
||||
- option: calibre_port
|
||||
value: "{{ calibre_port }}"
|
||||
- option: calibre_enabled
|
||||
value: "{{ calibre_enabled }}"
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
# By the time we get here we should have ka-lite of some version
|
||||
# And the systemd unit files should be defined
|
||||
|
||||
- name: Enable & (re)start 'kalite-serve' service
|
||||
systemd:
|
||||
daemon_reload: yes
|
||||
name: kalite-serve
|
||||
enabled: yes
|
||||
state: restarted
|
||||
when: kalite_enabled
|
||||
|
||||
- name: Disable & stop 'kalite-serve' service
|
||||
systemd:
|
||||
name: kalite-serve
|
||||
enabled: no
|
||||
state: stopped
|
||||
when: not kalite_enabled
|
||||
|
||||
# 2019-10-20: Below is for Fedora 18 (XO laptops) only.
|
||||
# Since F18 we don't have a separate unit file for kalite-cron.
|
||||
#
|
||||
# SEE --skip-job-scheduler @ https://ka-lite.readthedocs.io/en/latest/usermanual/cli.html
|
||||
# ...as implemented in templates/kalite-serve.service.j2
|
||||
# ...if not kalite_cron_enabled
|
||||
# ...using {{ job_scheduler_stanza }} from kalite/tasks/install.yml
|
||||
|
||||
- name: Enable & (re)start 'kalite-cron' service (F18)
|
||||
service:
|
||||
name: kalite-cron
|
||||
enabled: yes
|
||||
state: restarted
|
||||
when: kalite_cron_enabled and is_F18
|
||||
|
||||
- name: Disable & stop 'kalite-cron' service (F18)
|
||||
service:
|
||||
name: kalite-cron
|
||||
enabled: no
|
||||
state: stopped
|
||||
when: not kalite_cron_enabled and is_F18
|
||||
|
||||
- name: Add 'kalite' variable values to {{ iiab_ini_file }}
|
||||
ini_file:
|
||||
path: "{{ iiab_ini_file }}"
|
||||
section: kalite
|
||||
option: "{{ item.option }}"
|
||||
value: "{{ item.value | string }}"
|
||||
with_items:
|
||||
- option: name
|
||||
value: "KA Lite"
|
||||
- option: description
|
||||
value: '"KA Lite downloads Khan Academy videos for offline use, with exercises and accounts if students want to track their own progress."'
|
||||
- option: path
|
||||
value: "{{ kalite_root }}"
|
||||
- option: port
|
||||
value: "{{ kalite_server_port }}"
|
||||
- option: kalite_enabled
|
||||
value: "{{ kalite_enabled }}"
|
||||
- option: cron_enabled
|
||||
value: "{{ kalite_cron_enabled }}"
|
|
@ -1,76 +0,0 @@
|
|||
# This is for Fedora 18, assumed to be an XO
|
||||
|
||||
- name: Install dependent packages (Fedora 18)
|
||||
package:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
with_items:
|
||||
- python-psutil
|
||||
- expect
|
||||
when: is_F18 | bool
|
||||
|
||||
- name: Install dependent pip packages (Fedora 18)
|
||||
pip:
|
||||
name: selenium
|
||||
when: internet_available and is_F18
|
||||
|
||||
- name: Determine if KA Lite is already downloaded
|
||||
stat:
|
||||
path: "{{ downloads_dir }}/ka-lite"
|
||||
register: kalite
|
||||
|
||||
- name: Download the latest KA Lite repo
|
||||
git:
|
||||
repo: "{{ kalite_repo_url }}"
|
||||
dest: "{{ downloads_dir }}/ka-lite"
|
||||
depth: 1
|
||||
version: 0.13.x
|
||||
ignore_errors: yes
|
||||
when: internet_available and kalite.stat.exists is defined and not kalite.stat.exists
|
||||
|
||||
- name: Create iiab-kalite user and password (Fedora 18)
|
||||
user:
|
||||
name: "{{ kalite_user }}"
|
||||
password: "{{ kalite_password_hash }}"
|
||||
update_password: on_create
|
||||
|
||||
- name: Create kalite_root directory (Fedora 18)
|
||||
file:
|
||||
path: "{{ kalite_root }}"
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0755
|
||||
state: directory
|
||||
|
||||
- name: Copy the KA Lite repo into place (Fedora 18)
|
||||
command: "rsync -at {{ downloads_dir }}/ka-lite/ {{ kalite_root }}"
|
||||
|
||||
- name: Make kalite_user owner
|
||||
file:
|
||||
path: "{{ kalite_root }}"
|
||||
owner: "{{ kalite_user }}"
|
||||
group: "{{ kalite_user }}"
|
||||
recurse: yes
|
||||
state: directory
|
||||
|
||||
# local_settings is deprecated
|
||||
- name: Copy local_settings file
|
||||
template:
|
||||
src: f18/local_settings.py.j2
|
||||
dest: "{{ kalite_root }}/kalite/local_settings.py"
|
||||
owner: "{{ kalite_user }}"
|
||||
group: "{{ kalite_user }}"
|
||||
mode: 0644
|
||||
|
||||
- name: Create kalite-serve & kalite-cron services, and iiab_cronservectl.sh
|
||||
template:
|
||||
backup: no
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
owner: root
|
||||
group: root
|
||||
mode: "{{ item.mode }}"
|
||||
with_items:
|
||||
- { src: 'f18/kalite-serve.service.j2', dest: '/etc/systemd/system/kalite-serve.service', mode: '0644'}
|
||||
- { src: 'f18/kalite-cron.service.j2', dest: '/etc/systemd/system/kalite-cron.service', mode: '0644'}
|
||||
- { src: 'f18/iiab_cronservectl.sh.j2', dest: '{{ kalite_root }}/scripts/iiab_cronservectl.sh', mode: '0755'}
|
|
@ -1,95 +0,0 @@
|
|||
# For OS's other than Fedora 18
|
||||
- name: Download {{ kalite_requirements }} to {{ pip_packages_dir }}/kalite.txt
|
||||
get_url:
|
||||
url: "{{ kalite_requirements }}"
|
||||
dest: "{{ pip_packages_dir }}/kalite.txt" # /opt/iiab/pip-packages/kalite.txt
|
||||
timeout: "{{ download_timeout }}"
|
||||
when: internet_available | bool
|
||||
|
||||
# 2020-01-19: https://github.com/piwheels/packages/issues/74 says the following is not longer needed...
|
||||
#- name: Run 'mv /etc/pip.conf /etc/pip.conf.see-iiab-issue-2139' as "TEMPORARY" workaround (2020-01-17) for piwheels.org's setuptools Python 2/3 brokenness on RPi (https://github.com/iiab/iiab/issues/2139)
|
||||
# command: mv /etc/pip.conf /etc/pip.conf.see-iiab-issue-2139
|
||||
# ignore_errors: yes
|
||||
# when: is_raspbian | bool
|
||||
|
||||
#- name: Install KA Lite non-static + reqs file with pip - (debuntu)
|
||||
# pip: requirements={{ pip_packages_dir }}/kalite.txt
|
||||
# virtualenv={{ kalite_venv }}
|
||||
# virtualenv_site_packages=no
|
||||
# extra_args="--no-cache-dir"
|
||||
# extra_args="--disable-pip-version-check"
|
||||
# when: internet_available and is_debuntu
|
||||
|
||||
- name: Install KA Lite static to {{ kalite_venv }}, using pip (debuntu)
|
||||
pip:
|
||||
name: ka-lite-static
|
||||
version: "{{ kalite_version }}"
|
||||
virtualenv: "{{ kalite_venv }}"
|
||||
virtualenv_site_packages: no
|
||||
virtualenv_command: /usr/bin/virtualenv
|
||||
virtualenv_python: python2.7
|
||||
extra_args: "--no-cache-dir"
|
||||
# extra_args="--disable-pip-version-check"
|
||||
when: internet_available and is_debuntu
|
||||
|
||||
#- name: Install KA Lite non-static + reqs file with pip (OS's other than debuntu)
|
||||
# pip: requirements={{ pip_packages_dir }}/kalite.txt
|
||||
# virtualenv={{ kalite_venv }}
|
||||
# virtualenv_site_packages=no
|
||||
# extra_args="--no-cache-dir"
|
||||
# extra_args="--disable-pip-version-check"
|
||||
# when: internet_available and not is_debuntu
|
||||
|
||||
- name: Install KA Lite static to {{ kalite_venv }}, using pip (OS's other than debuntu)
|
||||
pip:
|
||||
name: ka-lite-static
|
||||
version: "{{ kalite_version }}"
|
||||
virtualenv: "{{ kalite_venv }}"
|
||||
virtualenv_site_packages: no
|
||||
virtualenv_command: /usr/bin/virtualenv
|
||||
virtualenv_python: python2.7
|
||||
# extra_args="--no-cache-dir"
|
||||
# extra_args="--disable-pip-version-check"
|
||||
when: internet_available and not is_debuntu
|
||||
|
||||
# This effectively does nothing at all on Ubuntu & Raspbian, where libgeos-*
|
||||
# pkgs are not installed FWIW. But it's included to safeguard us across all
|
||||
# OS's, in case others OS's like Ubermix later appear. See #1382 for details.
|
||||
# Removing pkgs libgeos-3.6.2 & libgeos-c1v5 fixed the situation on Ubermix!
|
||||
- name: Remove libgeos-* pkgs, avoiding KA Lite Django failure on Ubermix
|
||||
shell: apt -y remove "libgeos-*"
|
||||
|
||||
# 2019-10-20: For Fedora 18 legacy (XO laptops) specially
|
||||
- name: Default is to have cronserve started with KA Lite
|
||||
set_fact:
|
||||
job_scheduler_stanza: ""
|
||||
|
||||
- name: Add --skip-job-scheduler to start if cronserve not enabled
|
||||
set_fact:
|
||||
job_scheduler_stanza: "--skip-job-scheduler "
|
||||
when: not kalite_cron_enabled
|
||||
|
||||
- name: "Install from template: venv wrapper /usr/bin/kalite, systemd unit file kalite-serve.service, Apache's kalite.conf"
|
||||
template:
|
||||
backup: no
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
owner: root
|
||||
group: root
|
||||
mode: "{{ item.mode }}"
|
||||
with_items:
|
||||
- { src: 'kalite.sh.j2', dest: '/usr/bin/kalite', mode: '0755'}
|
||||
- { src: 'kalite-serve.service.j2', dest: '/etc/systemd/system/kalite-serve.service', mode: '0644'}
|
||||
- { src: 'kalite.conf', dest: '/etc/{{ apache_conf_dir }}', mode: '0644'}
|
||||
|
||||
- name: Fix KA Lite bug in regex parsing ifconfig output, for @m-anish's network names that contain dashes
|
||||
replace:
|
||||
path: /usr/local/kalite/venv/local/lib/python2.7/site-packages/kalite/packages/dist/ifcfg/parser.py
|
||||
regexp: 'a-zA-Z0-9'
|
||||
replace: 'a-zA-Z0-9\-'
|
||||
|
||||
|
||||
# RECORD KA Lite AS INSTALLED
|
||||
|
||||
# TO DO: move the last 2 stanzas from setup.yml so they live right here,
|
||||
# as any action named "install.yml" should do exactly what it says (install!)
|
|
@ -30,7 +30,7 @@
|
|||
name: kalite-serve
|
||||
enabled: yes
|
||||
state: restarted
|
||||
when: kalite_enabled
|
||||
when: kalite_enabled | bool
|
||||
|
||||
- name: Disable & Stop 'kalite-serve' service, if not kalite_enabled
|
||||
systemd:
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
# This is for Fedora 18, assumed to be an XO
|
||||
|
||||
- name: Run the setup using 'kalite manage' (Fedora 18)
|
||||
command: "/usr/bin/su {{ kalite_user }} -c '{{ kalite_root }}/bin/kalite manage setup --username={{ kalite_user }} --password={{ kalite_password }} --noinput'"
|
||||
async: 900
|
||||
poll: 10
|
||||
|
||||
- name: Finish setup by running 'kalite start' (Fedora 18)
|
||||
command: "/usr/bin/su {{ kalite_user }} -c '{{ kalite_root }}/bin/kalite start'"
|
||||
async: 900
|
||||
poll: 10
|
||||
|
||||
- name: Stop kalite server started in previous step because we use systemd
|
||||
command: "/usr/bin/su {{ kalite_user }} -c '{{ kalite_root }}/bin/kalite stop'"
|
|
@ -1,32 +0,0 @@
|
|||
# For OS's other than Fedora 18
|
||||
|
||||
- name: Create {{ kalite_root }} directory
|
||||
file:
|
||||
path: "{{ kalite_root }}/httpsrv/static" # /library/ka-lite
|
||||
# owner: root
|
||||
# group: root
|
||||
# mode: 0755
|
||||
state: directory
|
||||
|
||||
- name: Run the setup using 'kalite manage'
|
||||
command: "{{ kalite_program }} manage setup --username={{ kalite_admin_user }} --password={{ kalite_admin_password }} --noinput" # Runs /usr/local/kalite/venv/bin/kalite
|
||||
environment:
|
||||
KALITE_HOME: "{{ kalite_root }}" # /library/ka-lite
|
||||
async: 1800
|
||||
poll: 10
|
||||
|
||||
|
||||
# RECORD KA Lite AS INSTALLED
|
||||
|
||||
# TO DO: move these last 2 stanzas to install.yml,
|
||||
# as any action named "install.yml" should do exactly what it says (install!)
|
||||
|
||||
- name: "Set 'kalite_installed: True'"
|
||||
set_fact:
|
||||
kalite_installed: True
|
||||
|
||||
- name: "Add 'kalite_installed: True' to {{ iiab_state_file }}"
|
||||
lineinfile:
|
||||
path: "{{ iiab_state_file }}" # /etc/iiab/iiab_state.yml
|
||||
regexp: '^kalite_installed'
|
||||
line: 'kalite_installed: True'
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
2. Without PHP available via FastCGI, any function at all for PHP-based applications validates NGINX.
|
||||
|
||||
3. Current state of IIAB App/Service migrations as of 2020-04-24:
|
||||
3. Current state of IIAB App/Service migrations as of 2020-04-29:
|
||||
|
||||
1. These support "Native" NGINX but ***NOT*** Apache
|
||||
* Admin Console
|
||||
|
@ -39,7 +39,7 @@
|
|||
* nodered
|
||||
|
||||
4. These each run their own web server or non-web / backend services, e.g. off of their own [unique port(s)](https://github.com/iiab/iiab/wiki/IIAB-Networking#list-of-ports--services) (IIAB home pages link directly to these destinations). In future we'd like mnemonic URL's for all of these: (e.g. http://box/calibre, http://box/archive, http://box/kalite)
|
||||
* calibre (menu goes directly to port 8080) [*]
|
||||
* calibre (menu goes directly to port 8080)
|
||||
* internetarchive (menu goes directly to port 4244, [PR #2120](https://github.com/iiab/iiab/pull/2120)) [*]
|
||||
* kalite (menu goes directly to ports 8006-8008)
|
||||
* minetest [*]
|
||||
|
@ -47,4 +47,4 @@
|
|||
* pbx [*]
|
||||
* transmission [*]
|
||||
|
||||
[*] The 5 above starred roles could use improvement, as of 2020-04-24.
|
||||
[*] The 4 above starred roles could use improvement, as of 2020-04-29.
|
||||
|
|
|
@ -25,6 +25,3 @@ sshd_service: sshd
|
|||
php_version: 7.0
|
||||
postgresql_version: 9.5
|
||||
systemd_location: /usr/lib/systemd/system
|
||||
# Upgrade OS's own Calibre to very latest:
|
||||
calibre_via_debs: False
|
||||
calibre_via_python: True
|
||||
|
|
|
@ -25,6 +25,3 @@ sshd_service: ssh
|
|||
php_version: 7.3
|
||||
postgresql_version: 11
|
||||
systemd_location: /lib/systemd/system
|
||||
# Upgrade OS's own Calibre to very latest:
|
||||
calibre_via_debs: False
|
||||
calibre_via_python: True
|
||||
|
|
|
@ -24,6 +24,3 @@ sshd_service: ssh
|
|||
php_version: 5
|
||||
postgresql_version: 9.4
|
||||
systemd_location: /lib/systemd/system
|
||||
# Upgrade OS's own Calibre to very latest:
|
||||
calibre_via_debs: False
|
||||
calibre_via_python: True
|
||||
|
|
|
@ -25,6 +25,3 @@ sshd_service: ssh
|
|||
php_version: 7.0
|
||||
postgresql_version: 9.6
|
||||
systemd_location: /lib/systemd/system
|
||||
# Upgrade OS's own Calibre to very latest:
|
||||
calibre_via_debs: False
|
||||
calibre_via_python: True
|
||||
|
|
|
@ -26,6 +26,3 @@ sshd_service: sshd
|
|||
nextcloud_install: False
|
||||
nextcloud_enabled: False
|
||||
systemd_location: /usr/lib/systemd/system
|
||||
# Upgrade OS's own Calibre to very latest:
|
||||
calibre_via_debs: False
|
||||
calibre_via_python: True
|
||||
|
|
|
@ -22,6 +22,3 @@ apache_log: /var/log/httpd/access_log
|
|||
sshd_package: openssh-server
|
||||
sshd_service: sshd
|
||||
systemd_location: /usr/lib/systemd/system
|
||||
# Upgrade OS's own Calibre to very latest:
|
||||
calibre_via_debs: False
|
||||
calibre_via_python: True
|
||||
|
|
|
@ -27,11 +27,6 @@ sshd_service: ssh
|
|||
php_version: 7.3
|
||||
postgresql_version: 11
|
||||
systemd_location: /lib/systemd/system
|
||||
# Upgrade Raspbian Buster's Calibre 3.x: (via role/calibre/tasks/debs.yml,
|
||||
# with .deb's released about 5-10 days after Calibre's quasi-monthly releases)
|
||||
calibre_via_debs: True
|
||||
# roles/calibre/tasks/py-installer.yml FAILS on ARM as of 2018-05-10:
|
||||
calibre_via_python: False
|
||||
|
||||
# minetest for rpi
|
||||
minetest_server_bin: /library/games/minetest/bin/minetestserver
|
||||
|
|
|
@ -26,8 +26,3 @@ sshd_service: ssh
|
|||
php_version: 5
|
||||
postgresql_version: 9.4
|
||||
systemd_location: /lib/systemd/system
|
||||
# Upgrade Raspbian Jessie's Calibre 2.5.0: (via role/calibre/tasks/debs.yml,
|
||||
# with .deb's released about 5-10 days after Calibre's quasi-monthly releases)
|
||||
calibre_via_debs: True
|
||||
# roles/calibre/tasks/py-installer.yml FAILS on ARM as of 2018-05-10:
|
||||
calibre_via_python: False
|
||||
|
|
|
@ -27,11 +27,6 @@ sshd_service: ssh
|
|||
php_version: 7.0
|
||||
postgresql_version: 9.6
|
||||
systemd_location: /lib/systemd/system
|
||||
# Upgrade Raspbian Stretch's Calibre 2.75.1: (via role/calibre/tasks/debs.yml,
|
||||
# with .deb's released about 5-10 days after Calibre's quasi-monthly releases)
|
||||
calibre_via_debs: True
|
||||
# roles/calibre/tasks/py-installer.yml FAILS on ARM as of 2018-05-10:
|
||||
calibre_via_python: False
|
||||
|
||||
# minetest for rpi
|
||||
minetest_server_bin: /library/games/minetest/bin/minetestserver
|
||||
|
|
|
@ -25,6 +25,3 @@ sshd_service: ssh
|
|||
php_version: 7.0
|
||||
postgresql_version: 9.5
|
||||
systemd_location: /lib/systemd/system
|
||||
# Upgrade Ubuntu 16.04's Calibre 2.55.0 to very latest:
|
||||
calibre_via_debs: False
|
||||
calibre_via_python: True
|
||||
|
|
|
@ -26,6 +26,3 @@ sshd_service: ssh
|
|||
php_version: 7.1
|
||||
postgresql_version: 9.6
|
||||
systemd_location: /lib/systemd/system
|
||||
# Upgrade Ubuntu 17.10's Calibre 3.7.0 to very latest:
|
||||
calibre_via_debs: False
|
||||
calibre_via_python: True
|
||||
|
|
|
@ -27,6 +27,3 @@ php_version: 7.2
|
|||
# "postgresql_version: 10.3" fails (too detailed for /etc/systemd/system/postgresql-iiab.service on Ubuntu 18.04)
|
||||
postgresql_version: 10
|
||||
systemd_location: /lib/systemd/system
|
||||
# Upgrade Ubuntu 18.04's Calibre 3.21.0 to very latest:
|
||||
calibre_via_debs: False
|
||||
calibre_via_python: True
|
||||
|
|
|
@ -27,6 +27,3 @@ php_version: 7.3
|
|||
# "postgresql_version: 11.2" fails (too detailed for /etc/systemd/system/postgresql-iiab.service on Ubuntu 19.04)
|
||||
postgresql_version: 11
|
||||
systemd_location: /lib/systemd/system
|
||||
# Upgrade Ubuntu 19.x's Calibre 3.39.1+ to very latest
|
||||
calibre_via_debs: False
|
||||
calibre_via_python: True
|
||||
|
|
|
@ -27,6 +27,3 @@ php_version: 7.4
|
|||
# "postgresql_version: 11.2" failed (too detailed for /etc/systemd/system/postgresql-iiab.service on Ubuntu 19.04)
|
||||
postgresql_version: 12
|
||||
systemd_location: /lib/systemd/system
|
||||
# Upgrade Ubuntu 20.04's Calibre 4.x to very latest...for now?
|
||||
calibre_via_debs: False
|
||||
calibre_via_python: True
|
||||
|
|
Loading…
Reference in a new issue