Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 
 
 

74 рядки
1.8 KiB

  1. #!/bin/bash
  2. set -e
  3. # Set the database variable to the default first.
  4. # Don't forget to change this string to your actual database parameters
  5. # if you don't plan to initialize the database in this script.
  6. export LEMMY_DATABASE_URL=postgres://lemmy:password@localhost:5432/lemmy
  7. # Set other environment variables
  8. export JWT_SECRET=changeme
  9. export HOSTNAME=rrr
  10. yes_no_prompt_invalid() {
  11. echo "Invalid input. Please enter either \"y\" or \"n\"." 1>&2
  12. }
  13. ask_to_init_db() {
  14. init_db_valid=0
  15. init_db_final=0
  16. while [ "$init_db_valid" == 0 ]
  17. do
  18. read -p "Initialize database (y/n)? " init_db
  19. case "$init_db" in
  20. [yY]* ) init_db_valid=1; init_db_final=1;;
  21. [nN]* ) init_db_valid=1; init_db_final=0;;
  22. * ) yes_no_prompt_invalid;;
  23. esac
  24. echo
  25. done
  26. if [ "$init_db_final" = 1 ]
  27. then
  28. source ./db-init.sh
  29. read -n 1 -s -r -p "Press ANY KEY to continue execution of this script, press CTRL+C to quit..."
  30. echo
  31. fi
  32. }
  33. ask_to_auto_reload() {
  34. auto_reload_valid=0
  35. auto_reload_final=0
  36. while [ "$auto_reload_valid" == 0 ]
  37. do
  38. echo "Automagically reload the project when source files are changed?"
  39. echo "ONLY ENABLE THIS FOR DEVELOPMENT!"
  40. read -p "(y/n) " auto_reload
  41. case "$auto_reload" in
  42. [yY]* ) auto_reload_valid=1; auto_reload_final=1;;
  43. [nN]* ) auto_reload_valid=1; auto_reload_final=0;;
  44. * ) yes_no_prompt_invalid;;
  45. esac
  46. echo
  47. done
  48. if [ "$auto_reload_final" = 1 ]
  49. then
  50. cd ui && yarn start
  51. cd server && cargo watch -x run
  52. fi
  53. }
  54. # Optionally initialize the database
  55. ask_to_init_db
  56. # Build the web client
  57. cd ui
  58. yarn
  59. yarn build
  60. # Build and run the backend
  61. cd ../server
  62. RUST_LOG=debug cargo run
  63. # For live coding, where both the front and back end, automagically reload on any save
  64. ask_to_auto_reload