Spaces:
Sleeping
Sleeping
| 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 | |