run.sh 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/bash
  2. # 解析命令行参数
  3. while getopts ":p:s:t:r:k:" opt; do
  4. case $opt in
  5. p) frpc_server_port=$OPTARG;;
  6. s) frpc_server_addr=$OPTARG;;
  7. t) frpc_token=$OPTARG;;
  8. r) frpc_remote_port=$OPTARG;;
  9. k) ssh_passward=$OPTARG;;
  10. \?) echo "Invalid option -$OPTARG" >&2;;
  11. esac
  12. done
  13. DOCKER_NAME="pikadev"
  14. if [ -n "$frpc_remote_port" ]; then
  15. DOCKER_NAME+="_$frpc_remote_port"
  16. fi
  17. # 检查是否设置了frpc_server_port参数
  18. if [ -n "$frpc_server_port" ]; then
  19. # 启动frpc
  20. echo "Starting frpc..."
  21. docker rm $DOCKER_NAME -f
  22. docker run -d --name $DOCKER_NAME \
  23. --restart always \
  24. -w /root/pikascript \
  25. -e FRPC_REMOTE_PORT=$frpc_remote_port \
  26. -e FRPC_SERVER_ADDR=$frpc_server_addr \
  27. -e FRPC_SERVER_PORT=$frpc_server_port \
  28. -e FRPC_TOKEN=$frpc_token \
  29. -e SSH_PASSWARD=$ssh_passward\
  30. pikadev \
  31. bash /etc/frpc.sh
  32. else
  33. # 不启动frpc
  34. echo "frpc_server_port is not set. Skipping frpc startup."
  35. docker rm $DOCKER_NAME -f
  36. docker run -it --name $DOCKER_NAME \
  37. --restart always \
  38. -w /root/pikascript \
  39. pikadev \
  40. bash
  41. fi