| # π¦ Gradio FastAPI Django Main - Docker Setup | |
| Based on the configuration in README.md: | |
| - **Title**: Gradio fastapi_django_main | |
| - **Emoji**: π¦ | |
| - **SDK**: Gradio 4.29.0 | |
| - **App File**: app.py | |
| ## Quick Start | |
| ### Prerequisites | |
| - Docker Desktop installed and running | |
| - PowerShell (Windows) or Bash (Linux/macOS) | |
| ### π Start Application | |
| ```powershell | |
| # Windows | |
| .\start.ps1 | |
| # Or manually: | |
| docker-compose up --build -d | |
| ``` | |
| ### π Stop Application | |
| ```powershell | |
| # Windows | |
| .\stop.ps1 | |
| # Or manually: | |
| docker-compose down | |
| ``` | |
| ## Configuration | |
| ### Environment Variables | |
| Copy `.env.example` to `.env` and update the values: | |
| ```bash | |
| # Groq API Configuration | |
| OPENAI_API_BASE=https://api.groq.com/openai/v1 | |
| OPENAI_API_KEY=your_actual_api_key_here | |
| MODEL_NAME=llama3-8b-8192 | |
| LOCAL_MODEL=true | |
| # Gradio Configuration | |
| GRADIO_SERVER_NAME=0.0.0.0 | |
| GRADIO_SERVER_PORT=7860 | |
| ``` | |
| ## Services | |
| ### Main Application | |
| - **Container**: `gradio-fastapi-django-main` | |
| - **Port**: 7860 | |
| - **URL**: http://localhost:7860 | |
| ### Features | |
| - Gradio 4.29.0 Web Interface | |
| - FastAPI Backend | |
| - Django Integration | |
| - Groq API Support | |
| - Health Checks | |
| - Auto-restart on failure | |
| ## Docker Commands | |
| ```bash | |
| # Build only | |
| docker-compose build | |
| # Start in foreground (see logs) | |
| docker-compose up | |
| # Start in background | |
| docker-compose up -d | |
| # View logs | |
| docker-compose logs -f | |
| # Check status | |
| docker-compose ps | |
| # Stop and remove | |
| docker-compose down | |
| # Rebuild and start | |
| docker-compose up --build | |
| # Clean up everything | |
| docker-compose down -v --remove-orphans | |
| docker system prune -f | |
| ``` | |
| ## Troubleshooting | |
| ### Container won't start | |
| 1. Check Docker Desktop is running | |
| 2. Check logs: `docker-compose logs` | |
| 3. Verify `.env` file exists and has correct values | |
| 4. Ensure port 7860 is not in use | |
| ### API Key Issues | |
| 1. Update `OPENAI_API_KEY` in `.env` file | |
| 2. Restart containers: `docker-compose restart` | |
| ### Performance Issues | |
| 1. Allocate more memory to Docker Desktop | |
| 2. Check container resources: `docker stats` | |
| ## Development | |
| ### Local Development with Docker | |
| ```bash | |
| # Mount source code for live reloading | |
| docker-compose -f docker-compose.dev.yml up | |
| ``` | |
| ### Access Container Shell | |
| ```bash | |
| docker-compose exec gradio-fastapi-django bash | |
| ``` |