|
|
@@ -0,0 +1,133 @@
|
|
|
+- 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
|
|
|
+
|