Spaces:
Sleeping
Sleeping
File size: 5,191 Bytes
916e12b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
# β
Hugging Face Spaces Deployment - Complete!
Your IntegraChat project is now ready to deploy to Hugging Face Spaces! Here's what has been created:
## π¦ Files Created
### 1. **Dockerfile** β
- Multi-service Docker container
- Runs MCP server, FastAPI backend, and Gradio UI
- Includes health checks and service coordination
- Optimized for Hugging Face Spaces
### 2. **.dockerignore** β
- Excludes `venv/`, `.env`, and other unnecessary files
- Reduces build size and prevents secret leaks
### 3. **README_HF_SPACES.md** β
- Optimized README for Hugging Face Spaces
- Includes Space metadata (emoji, colors, SDK type)
- Quick start guide and feature overview
### 4. **DEPLOY_HF_SPACES.md** β
- Complete step-by-step deployment guide
- Troubleshooting section
- Environment variable configuration
- Best practices
## π Quick Deployment Steps
1. **Create Space**: Go to [huggingface.co/new-space](https://huggingface.co/new-space)
- Choose **Docker** as SDK
- Set hardware (CPU basic for testing, upgrade for production)
2. **Push Code**:
```bash
git init
git remote add hf https://huggingface.co/spaces/<username>/<space-name>
git add Dockerfile .dockerignore README_HF_SPACES.md requirements.txt app.py env.example LICENSE README.md assets/ backend/ scripts/
git commit -m "Deploy to HF Spaces"
git push hf main
```
3. **Configure Secrets**: In Space Settings β Repository secrets, add:
- `POSTGRESQL_URL`
- `OLLAMA_URL` (or `GROQ_API_KEY`)
- `OLLAMA_MODEL`
- Optional: `SUPABASE_URL`, `SUPABASE_SERVICE_KEY`, etc.
4. **Wait for Build**: Monitor build progress in the Logs tab (5-10 minutes)
5. **Access Your Space**: `https://huggingface.co/spaces/<username>/<space-name>`
## ποΈ Architecture in Docker
The Dockerfile runs three services:
```
βββββββββββββββββββββββββββββββββββββββ
β Docker Container β
β β
β ββββββββββββββββ β
β β MCP Server β Port 8900 β
β β (Background) β β
β ββββββββββββββββ β
β β
β ββββββββββββββββ β
β β FastAPI β Port 8000 β
β β (Background) β β
β ββββββββββββββββ β
β β
β ββββββββββββββββ β
β β Gradio UI β Port 7860 β
β β (Foreground) β β Main Entry β
β ββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββ
```
## π What's Included
β
**Dockerfile** - Production-ready multi-service container
β
**.dockerignore** - Excludes unnecessary files
β
**README_HF_SPACES.md** - Space-optimized documentation
β
**DEPLOY_HF_SPACES.md** - Complete deployment guide
β
**Health checks** - Service readiness verification
β
**Error handling** - Graceful service startup
β
**Environment variables** - Configurable via HF Space settings
## π§ Configuration
All configuration is done via environment variables in Hugging Face Space settings:
### Required
- `POSTGRESQL_URL` - Database connection
- `OLLAMA_URL` + `OLLAMA_MODEL` - OR `GROQ_API_KEY`
### Optional
- `SUPABASE_URL` + `SUPABASE_SERVICE_KEY` - Production storage
- `GOOGLE_SEARCH_API_KEY` + `GOOGLE_SEARCH_CX_ID` - Web search
- `MCP_PORT`, `API_PORT` - Service ports (defaults work)
## π Next Steps
1. **Review Files**: Check all created files match your needs
2. **Test Locally**: Build Docker image locally to test:
```bash
docker build -t integrachat .
docker run -p 7860:7860 -p 8000:8000 -p 8900:8900 integrachat
```
3. **Deploy**: Follow steps in `DEPLOY_HF_SPACES.md`
4. **Monitor**: Check logs and analytics after deployment
## π― Key Features
- β
**Multi-service orchestration** - All services run in one container
- β
**Health checks** - Services wait for each other to be ready
- β
**Error handling** - Graceful failures and logging
- β
**Production-ready** - Optimized for Hugging Face Spaces
- β
**Configurable** - All settings via environment variables
## π‘ Tips
1. **First Build**: May take 10-15 minutes (downloads dependencies)
2. **Subsequent Builds**: Faster (cached layers)
3. **Logs**: Check Logs tab for detailed startup information
4. **Database**: Ensure PostgreSQL is accessible from HF servers
5. **LLM**: Consider Groq API for cloud-based LLM (no local server needed)
## π Need Help?
- Check `DEPLOY_HF_SPACES.md` for detailed troubleshooting
- Review Dockerfile comments for service configuration
- Check Hugging Face Spaces documentation for platform-specific issues
---
**Your project is ready to deploy! π**
Follow the steps in `DEPLOY_HF_SPACES.md` to get started.
|