mirror of
https://git.lapiole.org/dani/ansible-roles.git
synced 2025-07-26 15:55:56 +02:00
Update to 2021-12-01 19:13
This commit is contained in:
8
roles/onlyoffice_document_server/tasks/cleanup.yml
Normal file
8
roles/onlyoffice_document_server/tasks/cleanup.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
|
||||
- name: Remove obsolete files
|
||||
file: path={{ item }} state=absent
|
||||
loop:
|
||||
- /etc/systemd/system/documentserver-spellchecker.service
|
||||
- /etc/systemd/system/multi-user.target.wants/documentserver-spellchecker.service
|
||||
tags: oo
|
13
roles/onlyoffice_document_server/tasks/conf.yml
Normal file
13
roles/onlyoffice_document_server/tasks/conf.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
|
||||
- name: Deploy configuration
|
||||
template: src={{ item }}.j2 dest=/etc/onlyoffice/documentserver/{{ item }} owner=ds group=ds mode=440
|
||||
loop:
|
||||
- oods.json
|
||||
notify: restart documentserver
|
||||
tags: oo
|
||||
|
||||
- name: Deploy nginx configuration
|
||||
template: src=nginx_vhost.conf.j2 dest=/etc/nginx/ansible_conf.d/32-oods.conf
|
||||
notify: reload nginx
|
||||
tags: oo
|
5
roles/onlyoffice_document_server/tasks/directories.yml
Normal file
5
roles/onlyoffice_document_server/tasks/directories.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
|
||||
- name: Create meta directory
|
||||
file: path=/etc/onlyoffice/meta state=directory mode=700
|
||||
tags: oo
|
33
roles/onlyoffice_document_server/tasks/facts.yml
Normal file
33
roles/onlyoffice_document_server/tasks/facts.yml
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
|
||||
- set_fact:
|
||||
oo_services:
|
||||
- documentserver-converter
|
||||
- documentserver-docservice
|
||||
- documentserver-metrics
|
||||
tags: oo
|
||||
|
||||
- when: oo_db_pass is not defined
|
||||
block:
|
||||
- import_tasks: ../includes/get_rand_pass.yml
|
||||
vars:
|
||||
- pass_file: /etc/onlyoffice/meta/ansible_db_pass
|
||||
- set_fact: oo_db_pass={{ rand_pass }}
|
||||
tags: oo
|
||||
|
||||
- name: Detect installed version
|
||||
shell: rpm -q --qf "%{version}-%{release}" onlyoffice-documentserver || echo 0
|
||||
args:
|
||||
warn: False
|
||||
register: oo_current_version
|
||||
changed_when: False
|
||||
tags: oo
|
||||
|
||||
- block:
|
||||
- import_tasks: ../includes/webapps_set_install_mode.yml
|
||||
vars:
|
||||
- root_dir: /etc/onlyoffice/
|
||||
- version: "{{ oo_current_version.stdout }}"
|
||||
- set_fact: oo_install_mode={{ install_mode }}
|
||||
tags: oo
|
||||
|
89
roles/onlyoffice_document_server/tasks/install.yml
Normal file
89
roles/onlyoffice_document_server/tasks/install.yml
Normal file
@@ -0,0 +1,89 @@
|
||||
---
|
||||
|
||||
- name: Install packages
|
||||
yum:
|
||||
name:
|
||||
- onlyoffice-documentserver
|
||||
tags: oo
|
||||
|
||||
# Font generation migh fail during upgrades, which can result in a broken install
|
||||
# like https://github.com/ONLYOFFICE/DocumentServer/issues/1106
|
||||
- when: oo_install_mode != 'none'
|
||||
block:
|
||||
- name: Stop services
|
||||
service: name={{ item }} state=stopped
|
||||
loop: "{{ oo_services }}"
|
||||
failed_when: False # don't fail on initial install when the services doesn't exist yet
|
||||
|
||||
- name: Generate fonts
|
||||
command: documentserver-generate-allfonts.sh true
|
||||
tags: oo
|
||||
|
||||
- name: Fix permissions on onlyoffice web resources
|
||||
file: path=/var/www/onlyoffice state=directory mode=755
|
||||
tags: oo
|
||||
|
||||
- import_tasks: ../includes/webapps_create_mysql_db.yml
|
||||
vars:
|
||||
- db_name: "{{ oo_db_name }}"
|
||||
- db_user: "{{ oo_db_user }}"
|
||||
- db_server: "{{ oo_db_server }}"
|
||||
- db_pass: "{{ oo_db_pass }}"
|
||||
tags: oo
|
||||
|
||||
- name: Load MySQL schema
|
||||
mysql_db:
|
||||
name: "{{ oo_db_name }}"
|
||||
state: import
|
||||
target: /var/www/onlyoffice/documentserver/server/schema/mysql/createdb.sql
|
||||
login_host: "{{ oo_db_server }}"
|
||||
login_user: sqladmin
|
||||
login_password: "{{ mysql_admin_pass }}"
|
||||
when: db_created.changed
|
||||
tags: oo
|
||||
|
||||
- name: Set permissions for default conf
|
||||
file: path=/etc/onlyoffice/documentserver/{{ item }} mode=644
|
||||
loop:
|
||||
- default.json
|
||||
- development-mac.json
|
||||
- development-windows.json
|
||||
- production-linux.json
|
||||
- log4js/development.json
|
||||
- log4js/production.json
|
||||
tags: oo
|
||||
|
||||
- name: Set permission on config directory
|
||||
file: path=/etc/onlyoffice state=directory mode=755
|
||||
tags: oo
|
||||
|
||||
- name: Fix permissions on data dir
|
||||
command: chown -R ds:ds /var/lib/onlyoffice/documentserver/
|
||||
args:
|
||||
warn: False
|
||||
changed_when: False
|
||||
tags: oo
|
||||
|
||||
- name: Deploy systemd service units
|
||||
template: src={{ item }}.service.j2 dest=/etc/systemd/system/{{ item }}.service
|
||||
loop: "{{ oo_services }}"
|
||||
register: oo_units
|
||||
notify: restart documentserver
|
||||
tags: oo
|
||||
|
||||
- name: Reload systemd
|
||||
systemd: daemon_reload=True
|
||||
when: oo_units.results | selectattr('changed','equalto',True) | list | length > 0
|
||||
tags: oo
|
||||
|
||||
- name: Remove obsolete services
|
||||
file: path=/etc/systemd/system/{{ item }}.service state=absent
|
||||
loop:
|
||||
- documentserver-gc
|
||||
register: oo_obsolete_units
|
||||
tags: oo
|
||||
|
||||
- name: Reload systemd
|
||||
systemd: daemon_reload=True
|
||||
when: oo_obsolete_units.changed
|
||||
tags: oo
|
12
roles/onlyoffice_document_server/tasks/main.yml
Normal file
12
roles/onlyoffice_document_server/tasks/main.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
|
||||
- include: user.yml
|
||||
- include: directories.yml
|
||||
- include: facts.yml
|
||||
- include: install.yml
|
||||
- include: conf.yml
|
||||
- include: selinux.yml
|
||||
when: ansible_selinux.status == 'enabled'
|
||||
- include: services.yml
|
||||
- include: write_version.yml
|
||||
- include: cleanup.yml
|
27
roles/onlyoffice_document_server/tasks/selinux.yml
Normal file
27
roles/onlyoffice_document_server/tasks/selinux.yml
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
|
||||
- name: Set correct context for binaries
|
||||
sefcontext:
|
||||
target: "{{ item }}"
|
||||
setype: bin_t
|
||||
loop:
|
||||
- /var/www/onlyoffice/documentserver/server/FileConverter/converter
|
||||
- /var/www/onlyoffice/documentserver/server/DocService/docservice
|
||||
- /var/www/onlyoffice/documentserver/server/Metrics/metrics
|
||||
register: oo_bin_context
|
||||
notify: restart documentserver
|
||||
tags: oo
|
||||
|
||||
- name: Reset SELinux context
|
||||
command: restorecon -R /var/www/onlyoffice/documentserver/server/ /var/lib/onlyoffice/
|
||||
when: oo_bin_context.results | selectattr('changed','equalto',True) | list | length > 0
|
||||
tags: oo
|
||||
|
||||
- name: Remove useless SELinux policy
|
||||
file: path=/etc/selinux/targeted/local/{{ item }} state=absent
|
||||
loop:
|
||||
- onlyoffice_docserver.te
|
||||
- onlyoffice_docserver.mod
|
||||
- onlyoffice_docserver.pp
|
||||
tags: oo
|
||||
|
11
roles/onlyoffice_document_server/tasks/services.yml
Normal file
11
roles/onlyoffice_document_server/tasks/services.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
|
||||
- name: Stop and disable supervisord
|
||||
systemd: name=supervisord state=stopped enabled=False masked=True
|
||||
tags: oo
|
||||
|
||||
- name: Start and enable documentserver services
|
||||
service: name={{ item }} state=started enabled=True
|
||||
loop: "{{ oo_services }}"
|
||||
tags: oo
|
||||
|
10
roles/onlyoffice_document_server/tasks/user.yml
Normal file
10
roles/onlyoffice_document_server/tasks/user.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
|
||||
- name: Create a system user
|
||||
user:
|
||||
name: ds
|
||||
comment: OnlyOffice Document Server
|
||||
system: True
|
||||
home: /var/www/onlyoffice
|
||||
shell: /sbin/nologin
|
||||
tags: oo
|
14
roles/onlyoffice_document_server/tasks/write_version.yml
Normal file
14
roles/onlyoffice_document_server/tasks/write_version.yml
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
|
||||
- name: Detect installed version
|
||||
shell: rpm -q --qf "%{version}-%{release}" onlyoffice-documentserver || echo 0
|
||||
args:
|
||||
warn: False
|
||||
register: oo_current_version
|
||||
changed_when: False
|
||||
#when: oo_current_version | string == '0' # Only detect again on first install
|
||||
tags: oo
|
||||
|
||||
- name: Write current version
|
||||
copy: content={{ oo_current_version.stdout }} dest=/etc/onlyoffice/meta/ansible_version
|
||||
tags: oo
|
Reference in New Issue
Block a user