Drawthings / start.sh
Semnykcz's picture
Update start.sh
07bb64b verified
#!/usr/bin/env bash
set -euo pipefail
PORT="${PORT:-7860}"
GRPC_PORT="${GRPC_PORT:-7859}"
echo "[start] MODELS_DIR=${MODELS_DIR:-/grpc-models}"
echo "[start] MODEL_URLS length: ${#MODEL_URLS}"
echo "[start] GRPC_PORT=${GRPC_PORT}"
echo "[start] Public PORT (HF)=${PORT}"
# 1) Optional: stáhni modely
/srv/model_download.sh || true
# 2) Start gRPC server (na pozadí)
/usr/local/bin/gRPCServerCLI "${MODELS_DIR}" &
SERVER_PID=$!
echo "[start] gRPCServerCLI started (pid=${SERVER_PID}) target=127.0.0.1:${GRPC_PORT}"
# 3) Počkej až začne naslouchat (max ~30s)
for i in {1..60}; do
if nc -z 127.0.0.1 "${GRPC_PORT}" 2>/dev/null; then
echo "[start] gRPCServerCLI is up."
break
fi
echo "[start] waiting gRPCServerCLI..."
sleep 0.5
done
# 4) Přepiš port v Envoy YAML (placeholder 7860 → $PORT)
if [[ "${PORT}" != "7860" ]]; then
sed -i "s/port_value: 7860/port_value: ${PORT}/g" /srv/envoy.yaml
fi
# A pro jistotu přepiš upstream port (placeholder 7859 → $GRPC_PORT), kdyby ses rozhodl změnit
if [[ "${GRPC_PORT}" != "7859" ]]; then
sed -i "s/port_value: 7859/port_value: ${GRPC_PORT}/g" /srv/envoy.yaml
fi
# 5) Spusť Envoy v popředí (PID 1)
echo "[start] starting Envoy on :${PORT} → 127.0.0.1:${GRPC_PORT} (h1/h2c → h2)"
exec /usr/local/bin/envoy -c /srv/envoy.yaml -l info