Really-amin's picture
Upload 577 files
b190b45 verified

πŸš€ 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:

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

  1. βœ… Server is running on port 7860
  2. πŸ“Š Open the dashboard at http://localhost:7860/
  3. πŸ“š Check API docs at http://localhost:7860/docs
  4. πŸ” Monitor system at http://localhost:7860/system-monitor