dev.altai / DEPLOYMENT_GUIDE.md
prince1604
Deploy API
743b34b
|
Raw
History Blame Contribute Delete
3.3 kB
# 🚀 Deployment Guide (Free & Lifetime)
This guide will show you how to deploy your Web Scraper API to **Render.com** for free. Render is an excellent cloud platform that supports Python and Playwright out of the box.
## ✅ Prerequisites
1. **GitHub Account**: You need a GitHub account to host your code.
2. **Git Installed**: You must have Git installed on your computer.
---
## Step 1: Push Code to GitHub
First, we need to get your code onto GitHub.
1. **Log in to GitHub** and create a **New Repository**.
* Name it something like `Alt-scraper-api`.
* Make it **Public** or **Private** (Private is fine).
* **Do not** initialize with a README (we have code locally).
2. **Open your terminal** in the project folder (`d:\webscreper`) and run these commands one by one:
```bash
# Initialize git
git init
# Add all files
git add .
# Commit changes
git commit -m "Initial commit for deployment"
# Link to your new GitHub repo (Replace YOUR_USERNAME and REPO_NAME)
git remote add origin https://github.com/YOUR_USERNAME/Alt-scraper-api.git
# Push code
git push -u origin main
```
---
## Step 2: Create a Web Service on Render
1. Go to [dashboard.render.com](https://dashboard.render.com) and sign up/log in.
2. Click the **"New +"** button and select **"Web Service"**.
3. Connect your **GitHub** account.
4. Find your `Alt-scraper-api` repository and click **"Connect"**.
---
## Step 3: Configure the Service
Fill in the details exactly as follows to ensure it works with Flask and Playwright:
* **Name**: `Alt-scraper` (or whatever you like)
* **Region**: Closest to you (e.g., Frankfurt or Oregon)
* **Branch**: `master`
* **Root Directory**: (Leave blank)
* **Runtime**: **Python 3**
* **Build Command**:
```bash
./build.sh
```
* **Start Command**:
```bash
uvicorn api:app --host 0.0.0.0 --port $PORT --interface wsgi --workers 4 --timeout-keep-alive 600
```
* **Instance Type**: Select **Free**
### ⚠️ crucial: Environment Variables
Scroll down to "Advanced" or "Environment Variables" and make sure these settings are correct. We already set up the `build.sh` script to handle dependencies, so this part should be automatic.
---
## Step 4: Deploy
1. Click **"Create Web Service"**.
2. Render will start building your app. You can watch the logs.
* It will install Python dependencies.
* It will install Chromium (for Playwright).
3. Once finished, you will see a green checkmark **"Live"**.
4. Copy your URL (e.g., `https://Alt-scraper.onrender.com`).
---
## Step 5: Test Your API
Now you can use this URL in Postman instead of `127.0.0.1:5050`.
**New Request:**
* **Method**: `GET`
* **URL**: `https://YOUR-APP-NAME.onrender.com/api/seo-report?domain=https://example.com`
---
## ℹ️ Important Notes about "Free" Tier
1. **Spin Down**: The free instance "sleeps" after 15 minutes of inactivity. The first request after sleeping might take 30-50 seconds to wake it up. This is normal.
2. **Keep Alive (Optional)**: If you want it to stay awake, you can use a free "Uptime Monitor" (like UptimeRobot) to ping your API every 10 minutes.
You now have a fully functional, free, lifetime deployment of your scraper! 🚀