PDF-accessibility-saas/.env.example

49 lines
2.9 KiB
Text

# PDF Accessibility SaaS — Environment Variables
# Copy this file to .env and fill in your values
# ─── AI Providers ────────────────────────────────────────────────────────────
# Anthropic Claude API (required — used for alt-text validation, image analysis)
# Get key: https://console.anthropic.com/
ANTHROPIC_API_KEY=sk-ant-api03-YOUR_KEY_HERE
# Google Cloud Vision API (optional — enhances image text detection)
# Option A: credentials JSON file path
# GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
# Option B: direct API key
# GOOGLE_API_KEY=YOUR_GOOGLE_API_KEY_HERE
# ─── Database (PostgreSQL) ───────────────────────────────────────────────────
DB_HOST=postgres
DB_PORT=5432
DB_NAME=pdf_accessibility
DB_USER=pdf_accessibility
DB_PASSWORD=change_me_in_production
# ─── Auth (Supabase) ─────────────────────────────────────────────────────────
SUPABASE_URL=https://YOUR_PROJECT.supabase.co
SUPABASE_ANON_KEY=YOUR_SUPABASE_ANON_KEY
SUPABASE_SERVICE_ROLE_KEY=YOUR_SUPABASE_SERVICE_ROLE_KEY
SUPABASE_JWT_SECRET=YOUR_SUPABASE_JWT_SECRET
# ─── Storage (MinIO / S3-compatible) ─────────────────────────────────────────
STORAGE_ENDPOINT=http://minio:9000
STORAGE_ACCESS_KEY=minioadmin
STORAGE_SECRET_KEY=change_me_in_production
STORAGE_BUCKET=pdf-pages
# ─── Redis / Celery ──────────────────────────────────────────────────────────
REDIS_URL=redis://redis:6379/0
# ─── Billing (Stripe) ────────────────────────────────────────────────────────
STRIPE_SECRET_KEY=sk_test_YOUR_KEY_HERE
STRIPE_WEBHOOK_SECRET=whsec_YOUR_SECRET_HERE
STRIPE_PRICE_PRO=price_YOUR_PRO_PRICE_ID
STRIPE_PRICE_BUSINESS=price_YOUR_BUSINESS_PRICE_ID
# ─── App ─────────────────────────────────────────────────────────────────────
APP_URL=https://pdfaccess.ai-impress.com
ENVIRONMENT=production # development | production
# ─── File Retention ──────────────────────────────────────────────────────────
RETENTION_HOURS=24 # uploaded PDFs deleted after N hours
RESULTS_RETENTION_HOURS=720 # result JSON kept for 30 days