Spaces:
Sleeping
Sleeping
| # β 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. | |