prisma/env.example
Rama main · réplica de lectura del repositorio original.
# Database Configuration
# Main database URL for Prisma
DATABASE_URL="postgresql://username:password@localhost:5432/janua_db?schema=public"
# Multi-tenancy Database URLs (for fully-isolated tenants)
# These would be dynamically configured per tenant
TENANT_DB_HOST="localhost"
TENANT_DB_PORT="5432"
TENANT_DB_USER="janua_app"
TENANT_DB_PASSWORD="secure_password"
# Connection Pool Settings
DATABASE_MAX_CONNECTIONS=100
DATABASE_POOL_TIMEOUT=30000
# Encryption Keys
# Base64 encoded encryption key for sensitive data
ENCRYPTION_KEY="your-base64-encoded-32-byte-key"
# Session Security
# Secret for device fingerprinting
FINGERPRINT_SECRET="your-secure-fingerprint-secret"
# JWT Configuration
JWT_SECRET="your-jwt-secret-key"
JWT_EXPIRES_IN="1h"
JWT_REFRESH_EXPIRES_IN="7d"
# Redis Configuration (for caching and sessions)
REDIS_URL="redis://localhost:6379"
REDIS_PASSWORD=""
REDIS_DB=0
# Payment Provider Configuration
# Stripe
STRIPE_SECRET_KEY="sk_test_..."
STRIPE_PUBLISHABLE_KEY="pk_test_..."
STRIPE_WEBHOOK_SECRET="whsec_..."
# Conekta (Mexico)
CONEKTA_PRIVATE_KEY="key_..."
CONEKTA_PUBLIC_KEY="key_..."
CONEKTA_WEBHOOK_SECRET="..."
# Fungies.io (Global MoR)
FUNGIES_API_KEY="..."
FUNGIES_MERCHANT_ID="..."
FUNGIES_WEBHOOK_SECRET="..."
# Email Configuration
SMTP_HOST="smtp.example.com"
SMTP_PORT=587
SMTP_USER="your-smtp-user"
SMTP_PASSWORD="your-smtp-password"
SMTP_FROM="noreply@yourapp.com"
# SMS Configuration
SMS_PROVIDER="twilio" # or "messagebird"
TWILIO_ACCOUNT_SID="..."
TWILIO_AUTH_TOKEN="..."
TWILIO_PHONE_NUMBER="..."
# Storage Configuration
# Cloudflare R2 for file storage and audit archival
CLOUDFLARE_ACCOUNT_ID="..."
CLOUDFLARE_R2_ACCESS_KEY="..."
CLOUDFLARE_R2_SECRET_KEY="..."
CLOUDFLARE_R2_BUCKET="janua-storage"
R2_AUDIT_BUCKET="janua-audit-archive"
# Application Configuration
APP_NAME="Janua"
APP_URL="https://yourapp.com"
APP_ENV="development" # development, staging, production
# Security Configuration
BCRYPT_ROUNDS=12
SESSION_SECRET="your-session-secret"
CSRF_SECRET="your-csrf-secret"
# Rate Limiting
RATE_LIMIT_WINDOW_MS=900000 # 15 minutes
RATE_LIMIT_MAX_REQUESTS=100
# Audit Configuration
AUDIT_RETENTION_DAYS=2555 # 7 years for SOX compliance
AUDIT_ARCHIVE_ENABLED=true
AUDIT_BATCH_SIZE=1000
AUDIT_BATCH_INTERVAL_MS=5000
# Monitoring & Observability
# Application Performance Monitoring
APM_SERVICE_NAME="janua-api"
APM_SERVER_URL="http://localhost:8200"
# Logging
LOG_LEVEL="info" # debug, info, warn, error
LOG_FORMAT="json" # json, text
# Feature Flags
FEATURE_MULTI_TENANCY=true
FEATURE_WEBAUTHN=true
FEATURE_MFA=true
FEATURE_AUDIT_LOGGING=true
FEATURE_BILLING=true
FEATURE_TEAMS=true
# Compliance Settings
COMPLIANCE_MODE="standard" # standard, sox, gdpr, hipaa
GDPR_ENABLED=true
SOX_COMPLIANCE=true
# Development/Testing
# Set to true to enable development features
DEV_MODE=false
TEST_DATABASE_URL="postgresql://username:password@localhost:5432/janua_test_db"
# API Configuration
API_VERSION="v1"
API_PREFIX="/api"
API_RATE_LIMIT=1000
API_TIMEOUT=30000
# Webhook Configuration
WEBHOOK_TIMEOUT=10000
WEBHOOK_MAX_RETRIES=3
WEBHOOK_RETRY_DELAY=1000
# Cache Configuration
CACHE_TTL=3600 # 1 hour
CACHE_MAX_SIZE=1000
# Performance Settings
MAX_REQUEST_SIZE="10mb"
MAX_FILE_SIZE="100mb"
REQUEST_TIMEOUT=30000
# Tenant Defaults
DEFAULT_TENANT_PLAN="free"
DEFAULT_TENANT_LIMITS='{"users":5,"teams":1,"storage":1073741824,"api_calls":1000}'
DEFAULT_TENANT_FEATURES='{"custom_domain":false,"sso":false,"advanced_security":false}'