Files
awesome-chatgpt-prompts/.env.example
2026-05-02 09:24:07 +03:00

117 lines
5.4 KiB
Plaintext

# Database
# Add connection_limit and pool_timeout for serverless/production environments:
# Example: ?schema=public&connection_limit=5&pool_timeout=10
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/prompts_chat?schema=public"
# Direct URL for migrations (bypasses connection pooler) - used by Neon, Supabase, PlanetScale
# DIRECT_URL="postgresql://postgres:postgres@localhost:5432/prompts_chat?schema=public"
# NextAuth
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="your-super-secret-key-change-in-production"
# OAuth Providers (optional - enable in prompts.config.ts)
# GOOGLE_CLIENT_ID=""
# GOOGLE_CLIENT_SECRET=""
# AZURE_AD_CLIENT_ID=""
# AZURE_AD_CLIENT_SECRET=""
# AZURE_AD_TENANT_ID=""
# GITHUB_CLIENT_ID=your_client_id
# GITHUB_CLIENT_SECRET=your_client_secret
# Run `npx auth add apple` to generate the secret, follow the instructions in the prompt
# AUTH_APPLE_ID=""
# AUTH_APPLE_SECRET=""
# ENABLED_STORAGE="do-spaces" | "s3" | "url"
# Storage Providers (optional - enable in prompts.config.ts)
# S3_BUCKET=""
# S3_REGION=""
# S3_ACCESS_KEY_ID=""
# S3_SECRET_ACCESS_KEY=""
# S3_ENDPOINT="" # For S3-compatible services like MinIO
# DigitalOcean Spaces (optional - S3-compatible storage)
# DO_SPACES_BUCKET=""
# DO_SPACES_REGION="" # e.g., nyc3, sfo3, ams3, sgp1, fra1
# DO_SPACES_ACCESS_KEY_ID=""
# DO_SPACES_SECRET_ACCESS_KEY=""
# DO_SPACES_CDN_ENDPOINT="" # Optional: for CDN-enabled Spaces
# AI Features (optional - enable aiSearch/aiGeneration in prompts.config.ts)
# OPENAI_API_KEY=your_openai_api_key
# OPENAI_BASE_URL=https://api.openai.com/v1 # Optional: custom base URL for OpenAI-compatible APIs
# OPENAI_EMBEDDING_MODEL=text-embedding-3-small # Optional: embedding model for AI search
# OPENAI_GENERATIVE_MODEL=gpt-4o-mini # Optional: generative model for AI generation
# OPENAI_TRANSLATION_MODEL=gpt-4o-mini # Optional: model for translating non-English search queries
# GOOGLE_ANALYTICS_ID="G-XXXXXXXXX"
# Logging (optional)
# LOG_LEVEL="info" # Options: trace, debug, info, warn, error, fatal
# Cron Job Secret (for daily credit reset)
CRON_SECRET="your-secret-key-here"
# Media Generation - Wiro.ai (optional)
# WIRO_API_KEY=your_wiro_api_key
# WIRO_VIDEO_MODELS="google/veo3.1-fast" # Comma-separated list of video models
# WIRO_IMAGE_MODELS="google/nano-banana-pro,google/nano-banana" # Comma-separated list of image models
# Media Generation - Fal.ai (optional)
# FAL_API_KEY=your_fal_api_key
# FAL_VIDEO_MODELS="fal-ai/veo3,fal-ai/kling-video/v2/master/text-to-video" # Comma-separated list of video models
# FAL_IMAGE_MODELS="fal-ai/flux-pro/v1.1-ultra,fal-ai/flux/dev" # Comma-separated list of image models
# SENTRY_AUTH_TOKEN=sentry-auth-token
# GOOGLE_ADSENSE_ACCOUNT=ca-pub-xxxxxxxxxxxxxxxx
# ==============================================================================
# SSO Authentication Configurations
#
# Why two generic providers (OIDC vs OAuth 2.0)?
# - "OIDC" (OpenID Connect) performs strict cryptographic validation on the
# ID Token (verifying 'aud' matching the client ID, 'iss' matching issuer, etc).
# Use this for standard providers like Google, Auth0, Okta, Keycloak.
# - "OAuth 2.0" bypasses strict OIDC validation. Use this for legacy or
# enterprise systems that do not return OIDC ID Tokens
# ==============================================================================
# Generic OIDC Config (Strict Validation)
# ⚠️ Ensure you add "oidc" to the `providers` array in your prompts.config.ts file
# Callback URL to whitelist: <your-domain>/api/auth/callback/oidc
# AUTH_OIDC_ID="dummy-oidc-client-id"
# AUTH_OIDC_SECRET="dummy-oidc-client-secret"
# AUTH_OIDC_ISSUER="https://oidc.example.com"
# AUTH_OIDC_WELLKNOWN="https://oidc.example.com/.well-known/openid-configuration"
# AUTH_OIDC_SCOPE="openid email profile"
# AUTH_OIDC_NAME="Company OIDC"
# Optional overrides (uncomment to use):
# AUTH_OIDC_LOGO="https://your-domain.com/oidc-logo.png" # Local path or full URL to button image
# AUTH_OIDC_AUTHORIZATION_URL="https://oidc.example.com/authorize"
# AUTH_OIDC_TOKEN_URL="https://oidc.example.com/token"
# AUTH_OIDC_USERINFO_URL="https://oidc.example.com/userinfo"
# AUTH_OIDC_JWKS_URL="https://oidc.example.com/jwks"
# AUTH_OIDC_TOKEN_AUTH_METHOD="client_secret_post" # Allowed values: "client_secret_basic", "client_secret_post", "none"
# AUTH_OIDC_ENABLE_PKCE="true" # PKCE is enabled by default. Set to "false" to disable.
# Generic OAuth 2.0 Config (Loose Validation)
# ⚠️ Ensure you add "oauth" to the `providers` array in your prompts.config.ts file
# Callback URL to whitelist: <your-domain>/api/auth/callback/oauth
# AUTH_OAUTH_ID="dummy-oauth-client-id"
# AUTH_OAUTH_SECRET="dummy-oauth-client-secret"
# AUTH_OAUTH_ISSUER="https://sso.example.com"
# AUTH_OAUTH_WELLKNOWN="https://sso.example.com/.well-known/openid-configuration"
# AUTH_OAUTH_SCOPE="email profile"
# AUTH_OAUTH_NAME="Company SSO"
# Optional overrides (uncomment to use):
# AUTH_OAUTH_LOGO="https://your-domain.com/sso-logo.png" # Local path or full URL to button image
# AUTH_OAUTH_AUTHORIZATION_URL="https://sso.example.com/authorize"
# AUTH_OAUTH_TOKEN_URL="https://sso.example.com/token"
# AUTH_OAUTH_USERINFO_URL="https://sso.example.com/userinfo"
# AUTH_OAUTH_JWKS_URL="https://sso.example.com/jwks"
# AUTH_OAUTH_TOKEN_AUTH_METHOD="client_secret_basic" # Allowed values: "client_secret_basic", "client_secret_post", "none"
# AUTH_OAUTH_ENABLE_PKCE="true" # PKCE is enabled by default. Set to "false" to disable.