| # Server deployment script for Image Description Application | |
| echo "Starting Image Description API server deployment" | |
| # Create virtual environment if it doesn't exist | |
| if [ ! -d "venv" ]; then | |
| echo "Creating virtual environment..." | |
| python3 -m venv venv | |
| fi | |
| # Activate virtual environment | |
| echo "Activating virtual environment..." | |
| source venv/bin/activate | |
| # Install requirements | |
| echo "Installing dependencies..." | |
| pip install -r image_descriptor_requirements.txt | |
| # Create necessary directories | |
| echo "Setting up directories..." | |
| mkdir -p uploads | |
| mkdir -p logs | |
| # Start the server with Gunicorn | |
| echo "Starting server with Gunicorn..." | |
| gunicorn --bind 0.0.0.0:8000 --workers 1 --timeout 300 "image_descriptor:app" \ | |
| --log-level info \ | |
| --access-logfile logs/access.log \ | |
| --error-logfile logs/error.log \ | |
| --daemon | |
| echo "Server started in the background on port 8000" | |
| echo "You can test it with: curl http://localhost:8000/health" | |
| echo "To process an image: curl -X POST -F \"image=@data_temp/page_2.png\" http://localhost:8000/describe" |