════════════════════════════════════════════════════════════════════════
  TeCoxBeta — installation
════════════════════════════════════════════════════════════════════════

CPANEL (Setup Python App)
─────────────────────────
 1. Upload tecoxbeta.zip to your account and Extract it.
    You should end up with a folder like:  /home/USER/tecoxbeta

 2. cPanel → Software → "Setup Python App" → Create Application

       Python version    : 3.9 or newer
       Application root  : tecoxbeta
       Application URL   : (pick your domain / subdomain)
       Startup file      : passenger_wsgi.py
       Application entry : application

    Click CREATE.

 3. At the TOP of that same page cPanel shows a command like:

       source /home/USER/virtualenv/tecoxbeta/3.11/bin/activate && cd /home/USER/tecoxbeta

    Copy it. Open cPanel → Terminal (or SSH), paste it, press Enter.
    Then run:

       pip install -r requirements.txt

    IMPORTANT: use that command, not plain SSH. Otherwise packages are
    installed into the wrong Python and the app will not start.

 4. Go back to Setup Python App and press RESTART.

 5. Visit your domain.
       /            → search interface
       /docs        → documentation
       /api         → interactive API explorer
       /health      → status check

TROUBLESHOOTING
───────────────
 • "A required package is not installed yet"
      → step 3 was skipped or run in the wrong shell. Redo it, then Restart.

 • 500 error / blank page
      → cPanel → Setup Python App → check the log file path shown there.

 • Streaming (/stream) arrives all at once
      → disable response buffering / "Optimize Website" for the domain.

 • Passenger keeps serving old code
      → press RESTART after every change.


RUNNING WITHOUT CPANEL
──────────────────────
       pip install -r requirements.txt
       python run.py
                                   → http://localhost:8000

  Other options:
       uvicorn deepsearch.api:app --host 0.0.0.0 --port 8000
       gunicorn -k uvicorn.workers.UvicornWorker deepsearch.api:app -b 0.0.0.0:8000


CONFIGURATION (all optional)
────────────────────────────
       cp .env.example .env
  Then edit .env. Useful ones:

       PORT=8000
       RATE_LIMIT_PER_MIN=0      0 = unlimited (default)
       DEEPSEARCH_API_KEY=       set to require an X-API-Key header
       DEEPSEARCH_DEPTH=fast     default search depth

No third-party API keys are required. Search and synthesis both run keyless.


QUICK TEST
──────────
       curl "http://localhost:8000/health"
       curl "http://localhost:8000/search?q=test+question&depth=instant"
