install.sh 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. #!/bin/bash -e
  2. SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
  3. #获取国标参数
  4. function getGbConfig(){
  5. _useConfig=$1
  6. w1=1
  7. while [[ $w1 == 1 ]]
  8. do
  9. clear
  10. if [ "$_useConfig" == "1" ]; then
  11. GBWebPort=$gb_WebPort
  12. GBSipPort=$gb_SIPPort
  13. GBExternalHost=$gb_Host
  14. GBSipDomain=$gb_domain
  15. GBSipID=$gb_id
  16. GBSipPASSWD=$gb_password
  17. GBEnableHttps=$gb_enableHttps
  18. w1=2
  19. else
  20. echo "开始安装配置国标平台,请按照提示输入信息"
  21. _GBWebPort=29001
  22. _GBSipPort=29000
  23. _GBExternalHost="192.168.1.26"
  24. _GBSipDomain=3402000000
  25. _GBSipID=34020000002000000001
  26. _GBSipPASSWD=12345678
  27. _GBEnableHttps=false
  28. read -p "请输入国标平台所使用的端口($_GBWebPort): " GBWebPort
  29. GBWebPort=${GBWebPort:-$_GBWebPort}
  30. read -p "请输入sip端口($_GBSipPort): " GBSipPort
  31. GBSipPort=${GBSipPort:-_GBSipPort}
  32. read -p "请输入可被zlm的ip地址($_GBExternalHost): " GBExternalHost
  33. GBExternalHost=${GBExternalHost:-_GBExternalHost}
  34. read -p "请输入国标域($_GBSipDomain): " GBSipDomain
  35. GBSipDomain=${GBSipDomain:-_GBDomain}
  36. read -p "请输入国标平台id($_GBSipID): " GBSipID
  37. GBSipID=${GBSipID:-_GBSipID}
  38. read -p "请输入国标平台密码$_GBSipPASSWD): " GBSipPASSWD
  39. GBSipPASSWD=${GBSipPASSWD:-_GBSipPASSWD}
  40. w3=1
  41. while [[ $w3 == 1 ]]
  42. do
  43. echo "是否启用https? y/n 语音对讲功能必须使用https,密钥文件放置于 gb28181/keys"
  44. read _yn
  45. if [[ $_yn == "y" ]] || [[ $_yn == "yes" ]] || [[ $_yn == "Y" ]] || [[ $_yn == "YES" ]] ; then
  46. echo "启用";
  47. GBEnableHttps=true
  48. w3=2;
  49. break;
  50. elif [[ $_yn == "n" ]] || [[ $_yn == "n" ]] || [[ $_yn == "N" ]] || [[ $_yn == "NO" ]] ; then
  51. echo "不启用"
  52. GBEnableHttps=false
  53. w2=2;
  54. else
  55. echo "---------------------"
  56. fi
  57. done
  58. w2=1
  59. while [[ $w2 == 1 ]]
  60. do
  61. echo "
  62. 国标平台服务器信息
  63. web端口=$GBWebPort
  64. sip端口=$GBSipPort
  65. 访问地址=$GBExternalHost
  66. 国标域=$GBSipDomain
  67. 国标平台id=$GBSipID
  68. 国标密码=$GBSipPASSWD
  69. 启用https=$GBEnableHttps
  70. "
  71. echo "是否确认为此信息?y/n"
  72. read _yn
  73. if [[ $_yn == "y" ]] || [[ $_yn == "yes" ]] || [[ $_yn == "Y" ]] || [[ $_yn == "YES" ]] ; then
  74. echo "确认信息";
  75. w1=2;
  76. break;
  77. elif [[ $_yn == "n" ]] || [[ $_yn == "n" ]] || [[ $_yn == "N" ]] || [[ $_yn == "NO" ]] ; then
  78. echo "重新输入"
  79. w2=2;
  80. else
  81. echo "---------------------"
  82. fi
  83. done
  84. fi
  85. done
  86. }
  87. # 输入参数
  88. installMode=$1
  89. installMode=${installMode:-2}
  90. cd $SCRIPT_DIR
  91. getGbConfig "$installMode"
  92. echo "
  93. 国标平台服务器信息
  94. web端口=$GBWebPort
  95. sip端口=$GBSipPort
  96. 访问地址=$GBExternalHost
  97. 国标域=$GBSipDomain
  98. 国标平台id=$GBSipID
  99. 国标密码=$GBSipPASSWD
  100. 启用https=$GBEnableHttps
  101. "
  102. # 开始编辑 gb 配置
  103. source $SCRIPT_DIR"/createConfig.sh"
  104. # 开始执行命令
  105. docker build -t hfy_gb:latest .
  106. docker stop hfy_gp
  107. docker rm hfy_gp
  108. #echo "$GBWebPort":"$GBWebPort" -p "$GBSipPort":"$GBSipPort" -p "$rtpPortStart"-"$rtpPortEnd":"$rtpPortStart"-"$rtpPortEnd"
  109. sudo docker run -itd --net=host \
  110. -v /data/gb:/data/gb -e LANG=C.UTF-8 \
  111. -v $SCRIPT_DIR"/gb28181":/data/hfygb \
  112. -v $SCRIPT_DIR"/application_product.yml":/data/hfygb/config/"application_product.yml" --name hfy_gp -it hfy_gb:latest
  113. # 导出镜像