run.sh.j2 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/bash
  2. set -e
  3. if [ "$#" -ne 1 ]; then
  4. echo "USAGE: $0 COMMAND"
  5. exit 1
  6. fi
  7. export WORK_DIR="{{ app_deploy_target }}"
  8. if [[ "$1" == "mq:discussion" || "$1" == "mq:pr" || "$1" == "mq:progress" || "$1" == "mq:wbw.analyses" || "$1" == "mq:export.pali.chapter" || "$1" == "mq:export.article" || "$1" == "schedule:run" ]]; then
  9. cd $WORK_DIR/api-v8/
  10. php -d memory_limit={{ app_php_memory_limit }} artisan $1
  11. elif [ "$1" = "ai-translate" ]; then
  12. cd $WORK_DIR/ai-translate/
  13. source $PWD/python3/bin/activate
  14. # https://github.com/iapt-platform/mint/blob/df8e1cf7ade16d17add360e7a869540c1ddaf1b9/api-v8/config/mint.php#L129
  15. python3 -m ai_translate -c config.toml -n ai.translate -q ai_translate_v2
  16. elif [ "$1" = "openai-proxy" ]; then
  17. cd $WORK_DIR/openai-proxy/
  18. source "$HOME/.nvm/nvm.sh"
  19. node dist/main.*.js config.json
  20. elif [ "$1" = "php-fpm" ]; then
  21. cd /var/lib/php/
  22. sed -i 's/^listen = .*/listen = {{ app_php_fpm_port }}/g' /etc/php/{{ app_php_version }}/fpm/pool.d/www.conf
  23. sed -i 's/^pm.min_spare_servers = .*/pm.min_spare_servers = 4/g' /etc/php/{{ app_php_version }}/fpm/pool.d/www.conf
  24. sed -i 's/^pm.max_spare_servers = .*/pm.max_spare_servers = 12/g' /etc/php/{{ app_php_version }}/fpm/pool.d/www.conf
  25. sed -i 's/^pm.max_children = .*/pm.max_children = 20/g' /etc/php/{{ app_php_version }}/fpm/pool.d/www.conf
  26. sed -i 's/^pm.start_servers = .*/pm.start_servers = 8/g' /etc/php/{{ app_php_version }}/fpm/pool.d/www.conf
  27. /usr/sbin/php-fpm{{ app_php_version }} --nodaemonize --fpm-config /etc/php/{{ app_php_version }}/fpm/php-fpm.conf
  28. elif [ "$1" = "setup" ]; then
  29. cd $WORK_DIR/api-v8/
  30. echo "caching configuration "
  31. php artisan config:cache
  32. echo "caching events"
  33. php artisan event:cache
  34. echo "caching routes"
  35. php artisan route:cache
  36. echo "caching views"
  37. php artisan view:cache
  38. echo "check file permissions"
  39. cd $WORK_DIR/api-v8/
  40. chown -R www-data:www-data bootstrap/cache storage
  41. else
  42. echo "unknown command $1"
  43. exit 1
  44. fi
  45. echo 'done.'
  46. exit 0