China Kassapa 2 месяцев назад
Родитель
Сommit
e8873ea48d

+ 0 - 8
ai-translate/run.sh

@@ -1,8 +0,0 @@
-#!/bin/bash
-
-if [ "$#" -lt 2 ]; then
-    echo "USAGE: $0 PYTHON_VERSION ARGS"
-    exit 1
-fi
-
-podman run --rm -it --events-backend=file --hostname=palm --network host -v $PWD:/srv:z "mint-python$1" bash -c "source ~/python3/bin/activate && mint-ai-translate-consumer ${@:2}"

+ 2 - 0
api-v8/README.md

@@ -295,6 +295,8 @@ php artisan mq:discussion
 php artisan mq:pr
 php artisan mq:progress
 php artisan mq:wbw.analyses
+php artisan mq:export.pali.chapter
+php artisan mq:export.article
 ```
 
 ## 运行dev server

+ 0 - 37
deploy/roles/mint-v2.3/files/run.sh

@@ -1,37 +0,0 @@
-#!/bin/bash
-
-set -e
-
-# -----------------------------------------------------------------------------
-if [[ "$EUID" -ne 0 ]]; then
-    echo "please run this script as root."
-    exit 1
-fi
-
-. /etc/os-release
-if [[ "$ID" != "ubuntu" ]]; then
-    echo "unsupported distribution $ID"
-    exit 1
-fi
-# -----------------------------------------------------------------------------
-
-# TODO 
-
-# php artisan mq:wbw.analyses
-
-if [[ "$#" -eq 1 && "$1" == "diagnose" ]]; then
-    php --version
-    echo "NodeJs: $(node -v)"
-    echo "npm: $(npm -v)"
-    composer diagnose
-elif [[ "$#" -eq 2 && "$1" == "fcgi" ]]; then
-    echo "start FastCGI server listening on 0.0.0.0:$2"
-    php-fpm -F -R
-else
-    echo "unsupported args, USAGE: $0 diagnose|fcgi PORT"
-    exit 1
-fi
-
-exit 0
-
-

+ 0 - 6
deploy/roles/mint-v2.3/tasks/laravel-scheduler.yml

@@ -1,9 +1,3 @@
-- name: Upload laravel-scheduler.sh({{ item.version }})
-  ansible.builtin.template:
-    src: laravel-scheduler.sh.j2
-    dest: "{{ app_deploy_target }}/scripts/laravel-scheduler-{{ item.version }}.sh"
-    mode: '0555'
-
 - name: Upload laravel-scheduler.service({{ item.version }})
   become: true
   ansible.builtin.template:

+ 10 - 14
deploy/roles/mint-v2.3/tasks/systemd.yml

@@ -12,10 +12,10 @@
     state: directory
     mode: "0755"
 
-- name: Upload run.sh
-  ansible.builtin.copy:
-    src: run.sh
-    dest: "{{ app_deploy_target }}/scripts/"
+- name: Upload laravel.sh
+  ansible.builtin.template:
+    src: laravel.sh.j2
+    dest: "{{ app_deploy_target }}/scripts/laravel.sh"
     mode: "0555"
 
 - name: Upload clean.py
@@ -84,12 +84,6 @@
     dest: "/etc/systemd/system/{{ app_domain }}-ai-translate.service"
     mode: "0444"
 
-- name: Upload laravel-job.sh
-  ansible.builtin.template:
-    src: laravel-job.sh.j2
-    dest: "{{ app_deploy_target }}/scripts/laravel-job.sh"
-    mode: "0555"
-
 - name: Upload laravel-worker.service
   become: true
   ansible.builtin.template:
@@ -97,10 +91,12 @@
     dest: "/etc/systemd/system/{{ app_domain }}-laravel-job-{{ item.name }}.service"
     mode: "0444"
   with_items:
-    - { name: "mq-discussion", image: "{{ app_php81_image }}" }
-    - { name: "mq-pr", image: "{{ app_php81_image }}" }
-    - { name: "mq-progress", image: "{{ app_php81_image }}" }
-    - { name: "mq-wbw.analyses", image: "{{ app_php81_image }}" }
+    - { name: "mq-discussion", image: "{{ app_php81_image }}", args: "mq:discussion" }
+    - { name: "mq-pr", image: "{{ app_php81_image }}", args: "mq:pr" }
+    - { name: "mq-progress", image: "{{ app_php81_image }}", args: "mq:progress" }
+    - { name: "mq-wbw.analyses", image: "{{ app_php81_image }}", args: "mq:wbw.analyses" }
+    - { name: "mq-export.pali.chapter", image: "{{ app_php81_image }}", args: "mq:export.pali.chapter" }
+    - { name: "mq-export.article", image: "{{ app_php81_image }}", args: "mq:export.article" }
 
 - name: Upload laravel sceduler
   ansible.builtin.include_tasks: laravel-scheduler.yml

+ 1 - 1
deploy/roles/mint-v2.3/templates/laravel-job.service.j2

@@ -6,7 +6,7 @@ After=network-online.target
 [Service]
 Type=simple
 User={{ ansible_user }}
-ExecStart=/usr/bin/docker run --rm --name {{ app_domain }}-laravel-job-{{ item.name }} -v /srv:/srv:z {{ item.image }} {{ app_deploy_target }}/scripts/laravel-job.sh {{ item.name }}
+ExecStart=/usr/bin/docker run --rm --name {{ app_domain }}-laravel-job-{{ item.name }} -v /srv:/srv:z {{ item.image }} {{ app_deploy_target }}/scripts/laravel.sh {{ item.args }}
 ExecStop=/usr/bin/docker stop {{ app_domain }}-laravel-job-{{ item.name }}
 WorkingDirectory={{ app_deploy_target }}
 Restart=always

+ 0 - 7
deploy/roles/mint-v2.3/templates/laravel-job.sh.j2

@@ -1,7 +0,0 @@
-#!/bin/bash
-
-set -e
-
-# TODO
-
-exit 0

+ 1 - 1
deploy/roles/mint-v2.3/templates/laravel-scheduler.service.j2

@@ -6,7 +6,7 @@ After=network-online.target
 [Service]
 Type=oneshot
 User={{ ansible_user }}
-ExecStart=/usr/bin/docker run --rm --name {{ app_domain }}-laravel-scheduler-{{ item.version }} -v /srv:/srv:z {{ item.image }} {{ app_deploy_target }}/scripts/laravel-scheduler-{{ item.version }}.sh
+ExecStart=/usr/bin/docker run --rm --name {{ app_domain }}-laravel-scheduler-{{ item.version }} -v /srv:/srv:z {{ item.image }} {{ app_deploy_target }}/scripts/laravel.sh schedule:run
 ExecStop=/usr/bin/docker stop {{ app_domain }}-laravel-scheduler-{{ item.version }}
 WorkingDirectory={{ app_deploy_target }}
 

+ 0 - 7
deploy/roles/mint-v2.3/templates/laravel-scheduler.sh.j2

@@ -1,7 +0,0 @@
-#!/bin/bash
-
-set -e
-
-# TODO
-
-exit 0

+ 61 - 0
deploy/roles/mint-v2.3/templates/laravel.sh.j2

@@ -0,0 +1,61 @@
+#!/bin/bash
+
+set -e
+
+# -----------------------------------------------------------------------------
+if [[ "$EUID" -ne 0 ]]; then
+    echo "please run this script as root."
+    exit 1
+fi
+
+. /etc/os-release
+if [[ "$ID" != "ubuntu" ]]; then
+    echo "unsupported distribution $ID"
+    exit 1
+fi
+# -----------------------------------------------------------------------------
+
+export PHP_VERSION="$(php -r 'echo PHP_VERSION;')"
+
+if [[ "$PHP_VERSION" == "8.1.34" ]]; then
+    export WORKSPACE=$PWD/api-v8
+if [[ "$PHP_VERSION" == "8.4.16" ]]; then
+    export WORKSPACE=$PWD/api-v12
+else
+    echo "unsupported php $PHP_VERSION"
+    exit 1
+fi
+
+# -----------------------------------------------------------------------------
+
+if [[ "$#" -eq 1 && "$1" == "diagnose" ]]; then
+    php --version
+    echo "NodeJs: $(node -v)"
+    echo "npm: $(npm -v)"
+    composer diagnose
+elif [[ "$#" -eq 1 && "$1" == "setup" ]]; then
+    cd $WORKSPACE/
+    echo "caching configuration"
+    php artisan config:cache
+    echo "caching events"
+    php artisan event:cache
+    echo "caching routes"
+    php artisan route:cache
+    echo "caching views"
+    php artisan view:cache
+
+    echo "check file permissions"    
+    mkdir storage/logs
+    chown -R www-data:www-data bootstrap/cache storage
+elif [[ "$#" -eq 1 ]]; then
+    cd $WORKSPACE/
+    echo "run $1..."
+    php -d memory_limit={{ app_php_memory_limit }} artisan $1
+else
+    echo "unsupported args"
+    exit 1
+fi
+
+exit 0
+
+

+ 1 - 1
deploy/roles/mint-v2.3/templates/php-fpm-8.1.service.j2

@@ -5,7 +5,7 @@ After=network-online.target
 
 [Service]
 Type=simple
-User={{ ansible_user }}
+User=www-data
 ExecStart=/usr/bin/docker run --rm --name php-fpm-8.1 -p 0.0.0.0:{{ app_php_fpm81_port }}:9000/tcp -v /srv:/srv:z {{ app_php81_image }} /srv/bin/php-fpm.sh 8.1
 ExecStop=/usr/bin/docker stop php-fpm-8.1
 WorkingDirectory=/srv

+ 1 - 1
deploy/roles/mint-v2.3/templates/php-fpm-8.4.service.j2

@@ -5,7 +5,7 @@ After=network-online.target
 
 [Service]
 Type=simple
-User={{ ansible_user }}
+User=www-data
 ExecStart=/usr/bin/docker run --rm --name php-fpm-8.4 -p 0.0.0.0:{{ app_php_fpm84_port }}:9000/tcp -v /srv:/srv:z {{ app_php84_image }} /srv/bin/php-fpm.sh 8.4
 ExecStop=/usr/bin/docker stop php-fpm-8.4
 WorkingDirectory=/srv

+ 1 - 1
docker/mint/Dockerfile

@@ -10,7 +10,7 @@ RUN apt -y install lsb-release apt-utils \
     debian-keyring debian-archive-keyring apt-transport-https software-properties-common curl wget gnupg
 RUN add-apt-repository -y ppa:ondrej/php
 RUN apt -y upgrade
-RUN apt -y install git vim locales locales-all tzdata build-essential \
+RUN apt -y install git vim locales locales-all inetutils-telnet iproute2 tzdata build-essential \
     php${PHP_VERSION}-cli php${PHP_VERSION}-fpm \
     php${PHP_VERSION}-xml php${PHP_VERSION}-imap php${PHP_VERSION}-intl php${PHP_VERSION}-mbstring php${PHP_VERSION}-bcmath \
     php${PHP_VERSION}-bz2 php${PHP_VERSION}-zip php${PHP_VERSION}-curl php${PHP_VERSION}-gd php${PHP_VERSION}-imagick \

+ 4 - 2
scripts/3rd-pack.sh

@@ -10,8 +10,8 @@ export TAR="tar -cJf"
 
 git config --global --add safe.directory $PWD
 
-# docker run --rm -it --hostname=palm --network host -v $(dirname $PWD):/workspace:z wikipali/mint:php-8.1-20251225
-# docker run --rm -it --hostname=palm --network host -v $(dirname $PWD):/workspace:z wikipali/mint:php-8.4-20260108
+# docker run --rm -it -v $(dirname $PWD):/workspace:z wikipali/mint:php-8.1-20251225
+# docker run --rm -it -v $(dirname $PWD):/workspace:z wikipali/mint:php-8.4-20260108
 
 if [[ "$PHP_VERSION" == "8.1.34" ]]; then
     cd $WORKSPACE/
@@ -36,6 +36,8 @@ elif [[ "$PHP_VERSION" == "8.4.16" ]]; then
     . /srv/python3/bin/activate
     python3 -m pip install -e .
 
+    # npm install --omit=dev
+
     cd $WORKSPACE/
     $TAR api-v12-$VERSION.tar.xz -C api-v12 node_modules package-lock.json vendor composer.lock    
     $TAR dashboard-v6-$VERSION.tar.xz -C dashboard-v6 node_modules package-lock.json