You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.5 KiB
86 lines
2.5 KiB
---
|
|
|
|
- name: Install needed tools
|
|
package:
|
|
name:
|
|
- acl
|
|
- tar
|
|
- zstd
|
|
- mariadb
|
|
tags: bookstack
|
|
|
|
- when: bookstack_install_mode != 'none'
|
|
block:
|
|
- name: Download bookstack
|
|
get_url:
|
|
url: "{{ bookstack_archive_url }}"
|
|
dest: "{{ bookstack_root_dir }}/tmp"
|
|
checksum: sha1:{{ bookstack_archive_sha1 }}
|
|
|
|
- name: Extract the archive
|
|
unarchive:
|
|
src: "{{ bookstack_root_dir }}/tmp/BookStack-{{ bookstack_version }}.tar.gz"
|
|
dest: "{{ bookstack_root_dir }}/tmp"
|
|
remote_src: True
|
|
|
|
- name: Move BookStack to its final dir
|
|
synchronize:
|
|
src: "{{ bookstack_root_dir }}/tmp/BookStack-{{ bookstack_version }}/"
|
|
dest: "{{ bookstack_root_dir }}/app/"
|
|
delete: True
|
|
compress: False
|
|
rsync_opts:
|
|
- '--exclude=/storage/'
|
|
- '--exclude=/public/uploads/'
|
|
delegate_to: "{{ inventory_hostname }}"
|
|
|
|
- name: Populate data directories
|
|
synchronize:
|
|
src: "{{ bookstack_root_dir }}/tmp/BookStack-{{ bookstack_version }}/{{ item }}"
|
|
dest: "{{ bookstack_root_dir }}/data/"
|
|
compress: False
|
|
delegate_to: "{{ inventory_hostname }}"
|
|
loop:
|
|
- storage
|
|
- public/uploads
|
|
|
|
- name: Link data directories
|
|
file: src={{ item.src }} dest={{ item.dest }} state=link
|
|
loop:
|
|
- src: "{{ bookstack_root_dir }}/data/storage"
|
|
dest: "{{ bookstack_root_dir }}/app/storage"
|
|
- src: "{{ bookstack_root_dir }}/data/uploads"
|
|
dest: "{{ bookstack_root_dir }}/app/public/uploads"
|
|
|
|
- name: Install PHP libs with composer
|
|
composer:
|
|
command: install
|
|
working_dir: "{{ bookstack_root_dir }}/app"
|
|
executable: /bin/php{{ bookstack_php_version }}
|
|
environment:
|
|
php: /bin/php{{ bookstack_php_version }}
|
|
|
|
tags: bookstack
|
|
|
|
- import_tasks: ../includes/webapps_create_mysql_db.yml
|
|
vars:
|
|
- db_name: "{{ bookstack_db_name }}"
|
|
- db_user: "{{ bookstack_db_user }}"
|
|
- db_server: "{{ bookstack_db_server }}"
|
|
- db_pass: "{{ bookstack_db_pass }}"
|
|
tags: bookstack
|
|
|
|
- name: Set correct SELinux context
|
|
sefcontext:
|
|
target: "{{ bookstack_root_dir }}(/.*)?"
|
|
setype: httpd_sys_content_t
|
|
state: present
|
|
when: ansible_selinux.status == 'enabled'
|
|
tags: bookstack
|
|
|
|
- name: Install pre/post backup hooks
|
|
template: src={{ item }}-backup.j2 dest=/etc/backup/{{ item }}.d/bookstack_{{ bookstack_id }} mode=700
|
|
loop:
|
|
- pre
|
|
- post
|
|
tags: bookstack
|
|
|