|
#!/bin/sh |
|
|
|
|
|
set -e |
|
|
|
|
|
set -x |
|
|
|
|
|
case "$(uname -m)" in |
|
aarch64|arm64 ) |
|
ARCH=arm64 |
|
;; |
|
x86_64|amd64 ) |
|
ARCH=amd64 |
|
;; |
|
armv7* ) |
|
ARCH=arm |
|
;; |
|
* ) |
|
echo "不支持的架构" |
|
exit 1 |
|
esac |
|
|
|
|
|
CLOUDFLARED_PATH="/project/cloudflared" |
|
RAYCAST_CMD="python -m uvicorn app.main:app --host 0.0.0.0 --port 3000" |
|
|
|
|
|
python -c "import urllib.request; urllib.request.urlretrieve('https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-$ARCH', '$CLOUDFLARED_PATH')" || { echo "下载 cloudflared 失败"; exit 1; } |
|
|
|
|
|
chmod +x "$CLOUDFLARED_PATH" || { echo "设置 cloudflared 的执行权限失败"; exit 1; } |
|
|
|
|
|
$RAYCAST_CMD "$@" & |
|
|
|
|
|
|
|
"$CLOUDFLARED_PATH" service install ${ARGO_AUTH} |
|
|
|
|
|
trap 'kill $(jobs -p); exit 1' INT TERM |
|
|
|
|
|
wait |