- name: Prepare the env hosts: localhost tasks: - name: Check if mint.tar.xz file exists ansible.builtin.stat: path: "{{ playbook_dir }}/tmp/{{ app_domain }}-{{ mint_version }}.tar.xz" register: mint_release_file_status - name: Building release package hosts: localhost roles: - role: mint-build-v2.3 when: not mint_release_file_status.stat.exists vars: app_workspace: "{{ ansible_facts['env']['HOME'] }}/build/mint" - name: Upload and setup release package hosts: - laravel_web - laravel_task - laravel_scheduler - ai_translate - open_ai_server roles: - role: mint-v2.3 - name: Setup laravel framework hosts: - laravel_web - laravel_task - laravel_scheduler tasks: - name: Setup api-v8 ansible.builtin.command: docker run --rm -it -v /srv:/srv:z {{ app_php81_image }} {{ app_deploy_target }}/scripts/laravel.sh setup - name: Setup api-v12 ansible.builtin.command: docker run --rm -it -v /srv:/srv:z {{ app_php84_image }} {{ app_deploy_target }}/scripts/laravel.sh setup - name: Start laravel scheduler hosts: - laravel_scheduler tasks: - name: Enable laravel scheduler timer(v8) become: true ansible.builtin.systemd_service: name: "{{ app_domain }}-laravel-scheduler-v8.timer" state: restarted enabled: true - name: Enable laravel scheduler timer(v12) become: true ansible.builtin.systemd_service: name: "{{ app_domain }}-laravel-scheduler-v12.timer" state: restarted enabled: true - name: Start laravel job hosts: - laravel_task tasks: - name: Enable laravel job service become: true ansible.builtin.systemd_service: name: "{{ app_domain }}-laravel-job-{{ item.name }}.service" state: restarted enabled: true with_items: - { name: "mq-discussion"} - { name: "mq-pr"} - { name: "mq-progress"} - { name: "mq-wbw.analyses"} - { name: "mq-export.pali.chapter"} - { name: "mq-export.article"} - name: Start ai-translate service hosts: - ai_translate tasks: - name: Enable ai-translate service become: true ansible.builtin.systemd_service: name: "{{ app_domain }}-ai-translate.service" state: restarted enabled: true - name: Start open-ai-server hosts: - open_ai_server tasks: - name: Enable open-ai-server service become: true ansible.builtin.systemd_service: name: "{{ app_domain }}-open-ai-server.service" state: restarted enabled: true - name: Setup nginx hosts: - nginx tasks: - name: Fix document root become: true ansible.builtin.lineinfile: path: /etc/nginx/sites-enabled/{{ app_domain }}.conf regexp: '^root ' line: "root {{ app_deploy_target }}/api-v8/public;" - name: Fix {{ app_dashboard_v4_base_path }} become: true ansible.builtin.lineinfile: path: /etc/nginx/sites-enabled/{{ app_domain }}.conf search_string: 'dashboard-v4' line: "alias {{ app_deploy_target }}/dashboard-v4/;" - name: Fix {{ app_dashboard_v6_base_path }} become: true ansible.builtin.lineinfile: path: /etc/nginx/sites-enabled/{{ app_domain }}.conf search_string: 'dashboard-v6' line: "alias {{ app_deploy_target }}/dashboard-v6/;" - name: Create nginx logs folder become: true ansible.builtin.file: path: "{{ app_deploy_target | dirname }}/logs" state: directory owner: www-data mode: "0755" - name: Test nginx configuration become: true ansible.builtin.command: nginx -t - name: Restart nginx become: true ansible.builtin.systemd_service: name: nginx state: restarted enabled: true