| #!/usr/bin/env bash |
| set -euo pipefail |
|
|
| export PORT="${PORT:-7860}" |
| export POLYGUARD_API_HOST="${POLYGUARD_API_HOST:-127.0.0.1}" |
| export POLYGUARD_API_PORT="${POLYGUARD_API_PORT:-8200}" |
| export POLYGUARD_ENV_HOST="${POLYGUARD_ENV_HOST:-127.0.0.1}" |
| export POLYGUARD_ENV_PORT="${POLYGUARD_ENV_PORT:-8100}" |
| export POLYGUARD_ALLOW_HF_SPACE_CORS="${POLYGUARD_ALLOW_HF_SPACE_CORS:-true}" |
| export POLYGUARD_ENABLE_OLLAMA="${POLYGUARD_ENABLE_OLLAMA:-false}" |
| export POLYGUARD_ENABLE_ACTIVE_MODEL="${POLYGUARD_ENABLE_ACTIVE_MODEL:-true}" |
| export POLYGUARD_ALLOW_WEB_FETCH="${POLYGUARD_ALLOW_WEB_FETCH:-false}" |
| export PYTHONUNBUFFERED=1 |
|
|
| cd /app |
|
|
| if [[ ! -f checkpoints/active/grpo_adapter/adapter_config.json ]]; then |
| echo "[entrypoint] Downloading HF usable model bundle (first boot may take several minutes)..." |
| python scripts/install_hf_active_bundle.py --no-reports || { |
| echo "[entrypoint] Bundle install failed; policy may fall back to heuristics until fixed." |
| } |
| fi |
|
|
| sed "s/@PORT@/${PORT}/g" /app/docker/space/nginx.conf.template > /tmp/nginx-space.conf |
|
|
| python -m uvicorn app.env.fastapi_app:app --host "${POLYGUARD_ENV_HOST}" --port "${POLYGUARD_ENV_PORT}" & |
| python -m uvicorn app.api:app --host "${POLYGUARD_API_HOST}" --port "${POLYGUARD_API_PORT}" & |
| sleep 3 |
| exec nginx -c /tmp/nginx-space.conf |
|
|