File size: 1,316 Bytes
d21c4cd
 
 
07bb64b
 
d21c4cd
 
07bb64b
 
d21c4cd
07bb64b
d21c4cd
 
07bb64b
d21c4cd
 
07bb64b
d21c4cd
07bb64b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d21c4cd
 
07bb64b
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/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