make.sh 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #!/bin/bash
  2. # ############ ############ ############
  3. # Usage:
  4. # with defaults:
  5. # ./make.sh
  6. # ./make.sh server
  7. # or:
  8. # ARGS="-it" IMAGE="riccardoblb/buildenvs:hugo" RUNTIME="docker" ./make.sh
  9. # PORT="1313" ARGS="-it" IMAGE="riccardoblb/buildenvs:hugo" RUNTIME="docker" ./make.sh server
  10. # ############ ############ ############
  11. set -x
  12. if [ "$IMAGE" = "" ];
  13. then
  14. export IMAGE="jmonkeyengine/buildenv-jme3:hugo"
  15. fi
  16. userUID=`id -u`
  17. groupUID=`id -g`
  18. if [ "$CMD" = "" ];
  19. then
  20. export CMD="hugo $@"
  21. fi
  22. if [ "$DONT_COMPILE_LESS" = "" ];
  23. then
  24. export CMD="sleep 2&&echo 'export default \"`date +%s`\"'> static/js/build-id.js&&lessc static/css/style.less static/css/style.css&&$CMD"
  25. fi
  26. if [ "$ARGS" = "" ];
  27. then
  28. if [ "$HEADLESS" = "" ];
  29. then
  30. export ARGS="$ARGS -it"
  31. fi
  32. fi
  33. if [ "$RUNTIME" = "" ];
  34. then
  35. if [ "`which podman`" != "" ];then
  36. export RUNTIME="podman"
  37. else
  38. export RUNTIME="docker"
  39. if [ "$SUDO_USER" != "" ];
  40. then
  41. userUID=`id -u $SUDO_USER`
  42. groupUID=`id -g $SUDO_USER`
  43. fi
  44. ARGS="$ARGS -u=$userUID:$groupUID"
  45. fi
  46. fi
  47. if [ "$PORT" = "" ];
  48. then
  49. if [ "$1" = "server" ];
  50. then
  51. export PORT="1313"
  52. fi
  53. fi
  54. if [ "$PORT" != "" ];
  55. then
  56. export ARGS="$ARGS -p$PORT:1313"
  57. fi
  58. if [ "$1" = "server" ];
  59. then
  60. export CMD="$CMD --bind 0.0.0.0"
  61. fi
  62. ENV_FILE=""
  63. if [ -f ".local-env" ];
  64. then
  65. if [ "$NO_CONTAINER" != "" ];
  66. then
  67. export $(cat .local-env | xargs)
  68. fi
  69. ENV_FILE="--env-file=.local-env"
  70. fi
  71. set -x
  72. if [ "$NO_CONTAINER" = "" ];
  73. then
  74. $RUNTIME pull $IMAGE
  75. $RUNTIME run -v"$PWD:$PWD" $ENV_FILE $RUN_AS -w $PWD $ARGS --rm $IMAGE bash -c "$CMD"
  76. else
  77. eval "$CMD"
  78. fi