π Starting the FastAPI Server
This guide explains how to run the Crypto Intelligence Hub FastAPI server using uvicorn on port 7860.
Quick Start
Method 1: Using Python directly (Recommended)
python main.py
Method 2: Using the run script
python run_server.py
Method 3: Using uvicorn directly
uvicorn main:app --host 0.0.0.0 --port 7860
Configuration
Port Configuration
The server runs on port 7860 by default (Hugging Face Spaces standard).
You can change the port using environment variables:
# Windows
set PORT=8000
python main.py
# Linux/Mac
export PORT=8000
python main.py
Or for Hugging Face Spaces:
export HF_PORT=7860
python main.py
Host Configuration
Default host is 0.0.0.0 (listens on all interfaces).
Change it with:
export HOST=127.0.0.1 # Only localhost
python main.py
Development Mode (Auto-reload)
Enable auto-reload for development:
export DEBUG=true
python main.py
Access Points
Once the server is running, you can access:
- Main Dashboard: http://localhost:7860/
- API Documentation: http://localhost:7860/docs
- System Monitor: http://localhost:7860/system-monitor
- OpenAPI Schema: http://localhost:7860/openapi.json
Production Deployment
Hugging Face Spaces
The server is configured to work with Hugging Face Spaces automatically:
- Port 7860 is the default
- Host 0.0.0.0 allows external access
- All optimizations are enabled
Using Gunicorn (Alternative)
For production with multiple workers:
gunicorn main:app -w 4 -k uvicorn.workers.UvicornWorker --bind 0.0.0.0:7860
Troubleshooting
Port Already in Use
If port 7860 is already in use:
# Find what's using the port
# Windows
netstat -ano | findstr :7860
# Linux/Mac
lsof -i :7860
# Then use a different port
export PORT=8000
python main.py
Module Not Found Errors
Make sure all dependencies are installed:
pip install -r requirements.txt
Database Connection Issues
The server will continue to run even if database connections fail. Check logs for specific errors.
Environment Variables
| Variable | Default | Description |
|---|---|---|
PORT |
7860 |
Server port |
HF_PORT |
7860 |
Hugging Face Spaces port (fallback) |
HOST |
0.0.0.0 |
Server host |
DEBUG |
false |
Enable auto-reload |
Logs
The server logs to console with INFO level by default. You'll see:
- Server startup messages
- Router loading status
- Request logs (if access_log=True)
- Error messages
Stopping the Server
Press Ctrl+C to gracefully stop the server.
Next Steps
- β Server is running on port 7860
- π Open the dashboard at http://localhost:7860/
- π Check API docs at http://localhost:7860/docs
- π Monitor system at http://localhost:7860/system-monitor