testDB / DEPLOYMENT.md
jaannawaz
Initial Supabase Gradio interface with secure configuration
1623af6

A newer version of the Gradio SDK is available: 6.14.0

Upgrade

πŸš€ Supabase Gradio Database Interface - Deployment Guide

This project creates a Gradio web interface for interacting with your Supabase PostgreSQL database.

πŸ“‹ Features

  • πŸ“Š View Tables: Browse and display data from your database tables
  • βž• Add Data: Insert new records into sample tables
  • πŸ” Custom Queries: Execute custom SQL queries
  • πŸ”„ Real-time Updates: Refresh table lists and data
  • πŸ›‘οΈ Secure Connection: Uses environment variables for credentials

πŸ› οΈ Local Development Setup

1. Prerequisites

  • Python 3.9+
  • Conda (recommended)

2. Environment Setup

# Create conda environment
conda create -n superbase_gradio python=3.9 -y
conda activate superbase_gradio

# Install dependencies
pip install -r requirements.txt

3. Database Configuration

Set up your environment variables with your Supabase credentials:

export DB_HOST="db.bnjblzcqaumctpehgoid.supabase.co"
export DB_PORT="5432"
export DB_NAME="postgres"
export DB_USER="postgres"
export DB_PASSWORD="your_actual_password_here"
export HF_TOKEN="your_hf_token_here"

4. Test Connection

python test_connection.py

5. Run Locally

python app.py

Access the interface at: http://localhost:7860

🌐 Hugging Face Deployment

1. Push to Repository

# Add and commit all files
git add .
git commit -m "Initial Supabase Gradio interface"
git push origin main

2. Set Environment Variables

In your Hugging Face Space settings, add these secrets:

  • DB_HOST: db.bnjblzcqaumctpehgoid.supabase.co
  • DB_PORT: 5432
  • DB_NAME: postgres
  • DB_USER: postgres
  • DB_PASSWORD: your_actual_supabase_password
  • HF_TOKEN: your_hf_token_here

3. Repository Structure

testDB_full/
β”œβ”€β”€ app.py                 # Main Gradio application
β”œβ”€β”€ requirements.txt       # Python dependencies
β”œβ”€β”€ config.py             # Configuration helper
β”œβ”€β”€ test_connection.py    # Connection test script
β”œβ”€β”€ README.md             # Hugging Face Space README
└── DEPLOYMENT.md         # This deployment guide

4. Deployment Process

  1. Your Space will automatically rebuild when you push changes
  2. The app will be available at: https://huggingface.co/spaces/Babajaan/testDB
  3. Check the logs for any deployment issues

πŸ” Security Notes

  • Never commit passwords or sensitive credentials to the repository
  • Always use environment variables for database credentials
  • For production use, consider implementing authentication
  • Limit database permissions for the connection user

πŸ§ͺ Testing the Interface

  1. View Tables: Select a table from the dropdown and view its data
  2. Create Sample Table: Use the "Create Sample Table" button to set up test data
  3. Add Records: Fill in the form to add new sample records
  4. Custom Queries: Execute SELECT queries to explore your data

πŸ†˜ Troubleshooting

Common Issues:

  1. Connection Failed: Check your database credentials and network connectivity
  2. Table Not Found: Ensure the table exists and you have proper permissions
  3. Deployment Issues: Check Hugging Face Space logs for specific errors

Debug Steps:

  1. Run python test_connection.py locally first
  2. Verify all environment variables are set correctly
  3. Check database firewall settings allow connections from Hugging Face
  4. Review application logs in Hugging Face Space settings

πŸ“š Database Operations

The interface supports:

  • SELECT: View and query data
  • INSERT: Add new records (via forms)
  • CREATE TABLE: Create sample tables for testing
  • Custom SQL: Execute any SQL query (use with caution)

πŸ”— Useful Links


⚠️ Important: Remember to replace [YOUR-PASSWORD] with your actual Supabase database password!