Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python3 | |
| """ | |
| Simple script to check Supabase environment variables | |
| """ | |
| import os | |
| import sys | |
| from pathlib import Path | |
| from dotenv import load_dotenv | |
| # Load .env file | |
| load_dotenv() | |
| print("=" * 70) | |
| print("Supabase Environment Variables Check") | |
| print("=" * 70) | |
| print() | |
| # Check SUPABASE_URL | |
| supabase_url = os.getenv("SUPABASE_URL") | |
| if supabase_url: | |
| print(f"[OK] SUPABASE_URL is set") | |
| print(f" Value: {supabase_url}") | |
| if not supabase_url.startswith("https://"): | |
| print(f" [WARNING] URL should start with https://") | |
| if ".supabase.co" not in supabase_url: | |
| print(f" [WARNING] URL should contain .supabase.co") | |
| else: | |
| print("[ERROR] SUPABASE_URL is NOT set") | |
| print(" Required for Supabase integration") | |
| print() | |
| # Check SUPABASE_SERVICE_KEY | |
| supabase_key = os.getenv("SUPABASE_SERVICE_KEY") | |
| if supabase_key: | |
| key_length = len(supabase_key) | |
| print(f"[OK] SUPABASE_SERVICE_KEY is set") | |
| print(f" Length: {key_length} characters") | |
| if key_length < 100: | |
| print(f" [ERROR] Key is too short ({key_length} chars)") | |
| print(f" Expected: 200+ characters") | |
| print(f" This looks like an 'anon' key, not 'service_role' key!") | |
| print(f" Get the correct key from:") | |
| print(f" Supabase Dashboard -> Settings -> API -> service_role key") | |
| elif key_length < 200: | |
| print(f" [WARNING] Key might be incomplete ({key_length} chars)") | |
| print(f" Expected: 200+ characters") | |
| else: | |
| print(f" [OK] Key length looks correct ({key_length} chars)") | |
| # Check if it starts with eyJ (JWT token format) | |
| if supabase_key.startswith("eyJ"): | |
| print(f" [OK] Key format looks correct (JWT token)") | |
| else: | |
| print(f" [WARNING] Key doesn't start with 'eyJ' (unusual for JWT)") | |
| # Show first and last few characters (masked) | |
| if key_length > 20: | |
| masked = supabase_key[:10] + "..." + supabase_key[-10:] | |
| print(f" Preview: {masked}") | |
| else: | |
| print("[ERROR] SUPABASE_SERVICE_KEY is NOT set") | |
| print(" Required for Supabase integration") | |
| print(" Get it from: Supabase Dashboard -> Settings -> API -> service_role key") | |
| print() | |
| # Check POSTGRESQL_URL (optional) | |
| postgres_url = os.getenv("POSTGRESQL_URL") | |
| if postgres_url: | |
| print(f"[INFO] POSTGRESQL_URL is set (optional, for migrations)") | |
| if len(postgres_url) > 50: | |
| masked = postgres_url[:30] + "..." + postgres_url[-20:] | |
| print(f" Value: {masked}") | |
| else: | |
| print(f" Value: {postgres_url}") | |
| else: | |
| print("[INFO] POSTGRESQL_URL is not set (optional, only needed for migrations)") | |
| print() | |
| print("=" * 70) | |
| print("Summary") | |
| print("=" * 70) | |
| has_url = bool(supabase_url) | |
| has_key = bool(supabase_key) | |
| key_valid = has_key and len(supabase_key) >= 200 | |
| if has_url and has_key and key_valid: | |
| print("[SUCCESS] Supabase environment variables are correctly configured!") | |
| print(" Your data should upload to Supabase automatically.") | |
| elif has_url and has_key: | |
| print("[WARNING] Supabase URL and key are set, but key appears invalid.") | |
| print(" Check that you're using the 'service_role' key (not 'anon' key).") | |
| elif has_url or has_key: | |
| print("[ERROR] Supabase configuration is incomplete.") | |
| print(" Both SUPABASE_URL and SUPABASE_SERVICE_KEY must be set.") | |
| else: | |
| print("[ERROR] Supabase is not configured.") | |
| print(" Set SUPABASE_URL and SUPABASE_SERVICE_KEY in your .env file.") | |
| print() | |
| print("=" * 70) | |