mirror of
https://github.com/iiab/iiab.git
synced 2025-03-09 15:40:17 +00:00
commit
474d812211
3 changed files with 33 additions and 34 deletions
|
@ -1,4 +1,4 @@
|
||||||
# INSTALL 3 PREREQS
|
# 1. INSTALL 3 PREREQS
|
||||||
|
|
||||||
- name: "Set 'nodejs_install: True' and 'nodejs_enabled: True'"
|
- name: "Set 'nodejs_install: True' and 'nodejs_enabled: True'"
|
||||||
set_fact:
|
set_fact:
|
||||||
|
@ -29,44 +29,43 @@
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
|
|
||||||
# CREATE 2 DIRS & RUN YARN
|
# 2. CREATE 2 DIRS, WIPE /opt/iiab/internetarchive/node_modules & RUN YARN
|
||||||
|
|
||||||
- name: mkdir {{ internetarchive_dir }}
|
- name: mkdir {{ internetarchive_dir }}
|
||||||
file:
|
file:
|
||||||
state: directory
|
state: directory
|
||||||
path: "{{ internetarchive_dir }}" # /opt/iiab/internetarchive
|
path: "{{ internetarchive_dir }}" # /opt/iiab/internetarchive
|
||||||
# owner: root
|
|
||||||
|
|
||||||
- name: Run yarn install to populate {{ internetarchive_dir }}/node_modules (CAN TAKE ~15 MINUTES)
|
- name: Wipe dir {{ internetarchive_dir }}/node_modules (and its contents, typically 112+ MB) so './runrole --reinstall internetarchive' gets you the latest code
|
||||||
|
file:
|
||||||
|
state: absent
|
||||||
|
path: "{{ internetarchive_dir }}/node_modules"
|
||||||
|
|
||||||
|
- name: Run 'yarn add @internetarchive/dweb-mirror' to download/populate {{ internetarchive_dir }}/node_modules (CAN TAKE ~15 MINUTES)
|
||||||
shell: yarn config set child-concurrency 1 && yarn add @internetarchive/dweb-mirror
|
shell: yarn config set child-concurrency 1 && yarn add @internetarchive/dweb-mirror
|
||||||
args:
|
args:
|
||||||
chdir: "{{ internetarchive_dir }}"
|
chdir: "{{ internetarchive_dir }}"
|
||||||
creates: "{{ internetarchive_dir }}/node_modules/@internetarchive/dweb-mirror/internetarchive"
|
creates: "{{ internetarchive_dir }}/node_modules/@internetarchive/dweb-mirror/internetarchive"
|
||||||
when: internet_available | bool
|
when: internet_available | bool
|
||||||
# register: internetarchive_installing
|
|
||||||
|
|
||||||
- name: mkdir {{ content_base }}/archiveorg
|
- name: mkdir {{ content_base }}/archiveorg
|
||||||
file:
|
file:
|
||||||
state: directory
|
state: directory
|
||||||
path: "{{ content_base }}/archiveorg" # /library
|
path: "{{ content_base }}/archiveorg" # /library
|
||||||
# owner: root
|
|
||||||
|
|
||||||
|
|
||||||
# CONFIG FILES
|
# 3. CONFIG FILES
|
||||||
|
|
||||||
- name: "Install from templates: /etc/systemd/system/internetarchive.service, /etc/{{ apache_conf_dir }}/internetarchive.conf"
|
- name: "Install from templates: /etc/systemd/system/internetarchive.service, /etc/{{ apache_conf_dir }}/internetarchive.conf"
|
||||||
template:
|
template:
|
||||||
src: "{{ item.src }}"
|
src: "{{ item.src }}"
|
||||||
dest: "{{ item.dest }}"
|
dest: "{{ item.dest }}"
|
||||||
# owner: root
|
|
||||||
# group: root
|
|
||||||
# mode: '0644'
|
|
||||||
with_items:
|
with_items:
|
||||||
- { src: 'internetarchive.service.j2', dest: '/etc/systemd/system/internetarchive.service' }
|
- { src: 'internetarchive.service.j2', dest: '/etc/systemd/system/internetarchive.service' }
|
||||||
- { src: 'internetarchive.conf', dest: '/etc/{{ apache_conf_dir }}/internetarchive.conf' } # apache2/sites-available
|
- { src: 'internetarchive.conf', dest: '/etc/{{ apache_conf_dir }}/internetarchive.conf' } # apache2/sites-available
|
||||||
|
|
||||||
|
|
||||||
# RECORD Internet Archive AS INSTALLED
|
# 4. RECORD Internet Archive AS INSTALLED
|
||||||
|
|
||||||
- name: "Set 'internetarchive_installed: True'"
|
- name: "Set 'internetarchive_installed: True'"
|
||||||
set_fact:
|
set_fact:
|
||||||
|
|
|
@ -19,27 +19,30 @@
|
||||||
quiet: yes
|
quiet: yes
|
||||||
|
|
||||||
|
|
||||||
#- name: Set --reinstall fact
|
# 2020-02-11: @mitra42 & @holta agree (#2247) that the following 2-stanza
|
||||||
# set_fact:
|
# "UPDATE internetarchive" block should run whenever one is isn't installing
|
||||||
# internetarchive_upgrade: True
|
# (or reinstalling) internetarchive, for now. We're aware this means slowness
|
||||||
# when: reinstall is defined
|
# during "./runrole internetarchive" but that's very intentional for now -- as
|
||||||
|
# it leads to more testing of more recent versions of internetarchive, which
|
||||||
|
# is strongly desired. Finally, these current norms can and probably will be
|
||||||
|
# changed in future, when broader IIAB norms develop around "./runrole
|
||||||
|
# --upgrade internetarchive" or "./runrole --update internetarchive" or such,
|
||||||
|
# as may evolve @ https://github.com/iiab/iiab/pull/2238#discussion_r376168178
|
||||||
|
|
||||||
- block: # UPDATE IF... internetarchive_installed is defined and internet_available
|
- block: # BEGIN 2-STANZA BLOCK
|
||||||
|
|
||||||
- name: Stop 'internetarchive' systemd service, if internetarchive_upgrade
|
- name: "UPGRADE: Stop 'internetarchive' systemd service, if internetarchive_installed is defined and internet_available"
|
||||||
systemd:
|
systemd:
|
||||||
name: internetarchive
|
name: internetarchive
|
||||||
daemon_reload: yes
|
daemon_reload: yes
|
||||||
state: stopped
|
state: stopped
|
||||||
#when: internetarchive_enabled and internetarchive_upgrade
|
|
||||||
|
|
||||||
- name: Update pre-existing install (yarn upgrade) if internetarchive_upgrade
|
- name: "UPGRADE: Run 'yarn upgrade' in {{ internetarchive_dir }}, if internetarchive_installed is defined and internet_available"
|
||||||
shell: yarn config set child-concurrency 1 && yarn install && yarn upgrade
|
shell: yarn config set child-concurrency 1 && yarn install && yarn upgrade
|
||||||
args:
|
args:
|
||||||
chdir: "{{ internetarchive_dir }}"
|
chdir: "{{ internetarchive_dir }}"
|
||||||
#when: internetarchive_enabled and internetarchive_upgrade
|
|
||||||
|
|
||||||
when: internetarchive_installed is defined and internet_available # END BLOCK
|
when: internetarchive_installed is defined and internet_available # END 2-STANZA BLOCK
|
||||||
|
|
||||||
# "ELSE" INSTALL...
|
# "ELSE" INSTALL...
|
||||||
|
|
||||||
|
|
23
runrole
23
runrole
|
@ -7,6 +7,7 @@ REINSTALL=0
|
||||||
CWD=`pwd`
|
CWD=`pwd`
|
||||||
IIAB_STATE_FILE=/etc/iiab/iiab_state.yml
|
IIAB_STATE_FILE=/etc/iiab/iiab_state.yml
|
||||||
LOCAL_VARS_FILE=/etc/iiab/local_vars.yml
|
LOCAL_VARS_FILE=/etc/iiab/local_vars.yml
|
||||||
|
|
||||||
if [ ! -f $PLAYBOOK ]; then
|
if [ ! -f $PLAYBOOK ]; then
|
||||||
echo "Exiting: IIAB Playbook not found."
|
echo "Exiting: IIAB Playbook not found."
|
||||||
echo "Please run this in /opt/iiab/iiab (top level of the git repo)."
|
echo "Please run this in /opt/iiab/iiab (top level of the git repo)."
|
||||||
|
@ -61,19 +62,15 @@ fi
|
||||||
#fi
|
#fi
|
||||||
|
|
||||||
if [ "$REINSTALL" == "1" ]; then
|
if [ "$REINSTALL" == "1" ]; then
|
||||||
#if [ ! $1 == "internetarchive" ]; then # special handling
|
if [ $1 == "calibre-web" ]; then # role directory & installed marker differ
|
||||||
if [ $1 == "calibre-web" ]; then # role directory & installed marker differ
|
sed -i -e '/^calibreweb/d' $IIAB_STATE_FILE
|
||||||
sed -i -e '/^calibreweb/d' $IIAB_STATE_FILE
|
elif [ $1 == "httpd" ]; then # role directory & installed marker differ
|
||||||
elif [ $1 == "httpd" ]; then # role directory & installed marker differ
|
sed -i -e '/^apache/d' $IIAB_STATE_FILE
|
||||||
sed -i -e '/^apache/d' $IIAB_STATE_FILE
|
elif [ $1 == "osm-vector-maps" ]; then # role directory & installed marker differ
|
||||||
elif [ $1 == "osm-vector-maps" ]; then # role directory & installed marker differ
|
sed -i -e '/^osm_vector_maps/d' $IIAB_STATE_FILE
|
||||||
sed -i -e '/^osm_vector_maps/d' $IIAB_STATE_FILE
|
else
|
||||||
#elif [ $1 == "bluetooth" ]; then # role directory & installed marker differ
|
sed -i -e "/^$1/d" $IIAB_STATE_FILE
|
||||||
# sed -i -e '/^pan_bluetooth/d' $IIAB_STATE_FILE
|
fi
|
||||||
else
|
|
||||||
sed -i -e "/^$1/d" $IIAB_STATE_FILE
|
|
||||||
fi
|
|
||||||
#fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $# -eq 2 ]; then
|
if [ $# -eq 2 ]; then
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue