emo-online-api / scripts /setup-hf-space.py
Emo Online
Deploy Emo API
dd87944
Raw
History Blame Contribute Delete
2.49 kB
#!/usr/bin/env python3
"""Configure Hugging Face Space secrets/variables for Emo Online API."""
from __future__ import annotations
import os
import sys
# SSL Windows (CERTIFICATE_VERIFY_FAILED)
sys.path.insert(0, str(__import__("pathlib").Path(__file__).resolve().parents[1] / "emo" / "backend"))
try:
import ssl_fix # noqa: F401
except ImportError:
pass
from huggingface_hub import HfApi
REPO_ID = os.environ.get("HF_SPACE_REPO", "Xroxx/emo-online-api")
BACKEND_URL = os.environ.get(
"EMO_PUBLIC_BACKEND_URL", "https://xroxx-emo-online-api.hf.space"
)
FRONTEND_URL = "https://xeroxytb.com"
SECRETS = [
"MONGO_URL",
"GOOGLE_CLIENT_ID",
"GOOGLE_CLIENT_SECRET",
"GITHUB_CLIENT_ID",
"GITHUB_CLIENT_SECRET",
"OPENAI_API_KEY",
"ANTHROPIC_API_KEY",
"GEMINI_API_KEY",
"GROQ_API_KEY",
"OPENROUTER_API_KEY",
"DEEPSEEK_API_KEY",
"HF_TOKEN",
"HUGGINGFACE_API_KEY",
"STRIPE_API_KEY",
"EMERGENT_LLM_KEY",
]
VARIABLES = {
"DB_NAME": "emo",
"EMO_DEV_MODE": "false",
"EMO_SERVE_FRONTEND": "false",
"EMO_BROWSER_ENABLED": "true",
"EMO_SKIP_STARTUP_PROBE": "true",
"EMO_PUBLIC_BACKEND_URL": BACKEND_URL,
"EMO_FRONTEND_URL": FRONTEND_URL,
"CORS_ORIGINS": "https://xeroxytb.com,https://www.xeroxytb.com,https://xeroxytb.github.io,http://127.0.0.1:8000,http://localhost:8000",
"GOOGLE_REDIRECT_URI": f"{BACKEND_URL}/api/auth/google/callback",
"EMO_ADMIN_EMAILS": "huglostalatac@gmail.com",
"STRIPE_BASIC_LINK": "https://buy.stripe.com/5kQ14pae7a8Rd4yb6y48001",
"STRIPE_PREMIUM_LINK": "https://buy.stripe.com/bJe6oJbib5SBggK5Me48002",
"STRIPE_ULTRA_LINK": "https://buy.stripe.com/4gMdRb71V3Kt8OicaC48003",
"OPENROUTER_REFERER": FRONTEND_URL,
}
def main() -> int:
token = os.environ.get("HF_TOKEN", "").strip()
if not token:
print("HF_TOKEN manquant", file=sys.stderr)
return 1
api = HfApi(token=token)
print(f"Configuring {REPO_ID}...")
for key in SECRETS:
val = os.environ.get(key, "").strip()
if not val:
print(f" skip secret {key} (empty)")
continue
api.add_space_secret(repo_id=REPO_ID, key=key, value=val)
print(f" secret {key} OK")
for key, val in VARIABLES.items():
api.add_space_variable(repo_id=REPO_ID, key=key, value=val)
print(f" variable {key} OK")
print("Done.")
return 0
if __name__ == "__main__":
raise SystemExit(main())