install.sh 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/sh
  2. #
  3. # Copyright (c) Milan Jurkulák 2024.
  4. # Contact:
  5. # e: mimoccc@gmail.com
  6. # e: mj@mjdev.org
  7. # w: https://mjdev.org
  8. #
  9. service_name="app"
  10. # store actual dir
  11. pwd=$(pwd)
  12. # sw needed
  13. sudo apt-get install.sh certbot nginx-full nodejs npm ufw yarn
  14. # stop service
  15. sudo systemctl stop "service-$service_name"
  16. sudo systemctl disable "service-$service_name"
  17. # remove old
  18. sudo rm -rf "/etc/systemd/system/service-$service_name.service"
  19. sudo rm -rf "/etc/nginx/sites-available/service-$service_name.nginx"
  20. sudo rm -rf "/etc/nginx/sites-enabled/service-$service_name.nginx"
  21. # reload services
  22. sudo systemctl daemon-reload
  23. sudo systemctl reload nginx
  24. # copy things
  25. sudo mkdir -p "/opt/services/$service_name"
  26. sudo cp -rf * "/opt/services/$service_name"
  27. # link things
  28. sudo ln -s "/opt/services/$service_name/$service_name.service" "/etc/systemd/system/service-$service_name.service"
  29. sudo ln -s "/opt/services/$service_name/$service_name.nginx" "/etc/nginx/sites-available/service-$service_name.nginx"
  30. sudo ln -s "/opt/services/$service_name/$service_name.nginx" "/etc/nginx/sites-enabled/service-$service_name.nginx"
  31. # go to directory
  32. cd "/opt/services/$service_name" || exit
  33. # build
  34. sudo npm install.sh
  35. sudo npm audit fix
  36. sudo npm upgrade
  37. #sudo npm run build
  38. # go back
  39. cd "$pwd" || exit
  40. # start services
  41. sudo systemctl daemon-reload
  42. sudo systemctl enable "service-$service_name"
  43. sudo systemctl start "service-$service_name"
  44. sudo systemctl reload nginx