|
#!/bin/sh |
|
|
|
|
|
set -e |
|
|
|
|
|
set -x |
|
|
|
|
|
case "$(uname -m)" in |
|
aarch64|arm64 ) |
|
ARCH=arm64 |
|
;; |
|
x86_64|amd64 ) |
|
ARCH=amd64 |
|
;; |
|
armv7* ) |
|
ARCH=arm |
|
;; |
|
* ) |
|
echo "Unsupported architecture" |
|
exit 1 |
|
esac |
|
|
|
|
|
CLOUDFLARED_PATH="/project/cloudflared" |
|
RAYCAST_CMD="python -m uvicorn app.main:app --host 0.0.0.0 --port 3000" |
|
|
|
|
|
wget -q -O "$CLOUDFLARED_PATH" "https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-$ARCH" || { echo "Failed to download cloudflared"; exit 1; } |
|
|
|
|
|
chmod +x "$CLOUDFLARED_PATH" || { echo "Failed to set execute permission for cloudflared"; exit 1; } |
|
|
|
|
|
"$CLOUDFLARED_PATH" tunnel run --token "${ARGO_AUTH}" & |
|
|
|
|
|
$RAYCAST_CMD "$@" & |
|
|
|
|
|
trap 'kill $(jobs -p); exit 1' INT TERM |
|
|
|
|
|
wait |