--- - set_fact: oo_services: - documentserver-converter - documentserver-docservice - documentserver-metrics - documentserver-spellchecker tags: oo - name: Create a system user user: name: ds comment: OnlyOffice Document Server system: True home: /var/www/onlyoffice shell: /sbin/nologin tags: oo - name: Install packages yum: name: - gcc-c++ # needed to rebuild modules for spellchecker - nodejs - onlyoffice-documentserver tags: oo - name: Create meta directory file: path=/etc/onlyoffice/meta state=directory mode=700 tags: oo - name: Fix permissions on onlyoffice web resources file: path=/var/www/onlyoffice state=directory mode=755 tags: oo - import_tasks: ../includes/get_rand_pass.yml vars: - pass_file: /etc/onlyoffice/meta/ansible_db_pass tags: oo - set_fact: oo_db_pass={{ rand_pass }} when: oo_db_pass is not defined 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: 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: 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: Fix permissions on data dir command: chown -R ds:ds /var/lib/onlyoffice/documentserver/ args: warn: False changed_when: False 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 - name: Create /etc/system/system file: path=/etc/systemd/system state=directory 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: Stop and disable supervisord systemd: name=supervisord state=stopped enabled=False masked=True 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 - name: Start and enable documentserver services service: name={{ item }} state=started enabled=True loop: "{{ oo_services }}" tags: oo