Envirolytics_backend / deployment_guide.md
Ayush Modi
Clean deploy with LFS
e4667e2

Deployment Guide: Hugging Face Spaces

This guide covers how to deploy the Envirolytics Backend to Hugging Face Spaces with MongoDB integration.

Prerequisites

  1. Hugging Face Account: Create one at huggingface.co.
  2. MongoDB Atlas Cluster: Create a free cluster at mongodb.com/atlas.
  3. Git Installed: Ensure git is running on your machine.
  4. Git LFS Installed: Run git lfs install (Required for large model files).

Step 1: Create Space

  1. Go to Hugging Face Spaces -> Create new Space.
  2. Name: envirolytics-backend (or similar).
  3. License: MIT.
  4. SDK: Select Docker.
  5. Visibility: Public or Private.
  6. Click Create Space.

Step 2: Configure Secrets

Go to the Settings tab of your new Space. Scroll to Variables and secrets. Add the following Secrets (Not Variables):

Name Value Description
OPENAQ_API_KEY your_openaq_key From OpenAQ Dashboard
MONGO_URI mongodb+srv://... Connection string from MongoDB Atlas

Tip: For MONGO_URI, ensure you allow access from "Anywhere" (0.0.0.0/0) in Atlas Network Access, as Hugging Face IPs change.

Step 3: Push Code

Run these commands in your project folder (d:/Data/envirolytics(1)):

# 1. Initialize Git (if not done)
git init

# 2. Add files
git add .

# 3. Commit
git commit -m "Initial deploy with MongoDB"

# 4. Add Remote (Copy exact URL from your Space's "Clone repository" button)
git remote add space https://huggingface.co/spaces/<YOUR_USERNAME>/<SPACE_NAME>

# 5. Push
git push space master

Step 4: Verify

  1. Go to the App tab in your Space.
  2. Wait for the Building status to turn to Running.
  3. Once running, click "Embed this space" or check the direct URL to see the API docs.

Troubleshooting

  • "Application Error": Check Logs tab.
  • MongoDB Timeout: Ensure Atlas Network Access IP Whitelist includes 0.0.0.0/0.
  • Cold Start: The app logs MongoDB Connection Verified! on startup. If it fails initially, it handles lazy connections gracefully.