Spaces:
Sleeping
Sleeping
File size: 3,614 Bytes
d74c0dc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
#!/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)
|