Files
securelens-backend/.env.example
2026-05-07 10:35:36 +05:30

88 lines
3.2 KiB
Plaintext

# ============================================================
# SecureLens AI — Environment Configuration
# ============================================================
# Copy this file to .env and fill in your values.
# Never commit your actual .env file to version control.
# ------------------------------------------------------------
# Application
# ------------------------------------------------------------
APP_NAME=SecureLens AI
APP_VERSION=1.1.0
DEBUG=true
# ------------------------------------------------------------
# Server
# ------------------------------------------------------------
HOST=0.0.0.0
PORT=8000
# ------------------------------------------------------------
# CORS — comma-separated list of allowed origins
# ------------------------------------------------------------
CORS_ORIGINS=http://localhost:3000,http://localhost:5173
# ------------------------------------------------------------
# Rate Limiting
# ------------------------------------------------------------
RATE_LIMIT=30/minute
# ------------------------------------------------------------
# Scanner Timeouts (seconds)
# ------------------------------------------------------------
SCAN_TIMEOUT=5
PATH_CHECK_TIMEOUT=3
# ------------------------------------------------------------
# Database
# ------------------------------------------------------------
DATABASE_URL=postgresql+asyncpg://securelens:securelens@localhost:5433/securelens
# ------------------------------------------------------------
# JWT Auth
# ------------------------------------------------------------
JWT_SECRET=change-me-in-production-use-a-long-random-string
# ------------------------------------------------------------
# AI Provider (LiteLLM — pick ONE of the options below)
# ------------------------------------------------------------
# Option 1: Google Gemini (default)
AI_MODEL=gemini/gemini-2.0-flash
AI_API_KEY=your-gemini-api-key-here
# Option 2: OpenAI
# AI_MODEL=gpt-4o-mini
# AI_API_KEY=your-openai-api-key-here
# Option 3: Anthropic Claude
# AI_MODEL=claude-3-5-haiku-20241022
# AI_API_KEY=your-anthropic-api-key-here
# Option 4: OpenRouter (access to all models with one key)
# AI_MODEL=openrouter/google/gemini-2.0-flash-exp:free
# AI_API_KEY=your-openrouter-api-key-here
# Option 5: Ollama (local, free — no key needed)
# AI_MODEL=ollama/llama3.1
# AI_API_KEY=
# Legacy: still works for Gemini backward compatibility
# GEMINI_API_KEY=your-gemini-api-key-here
# ------------------------------------------------------------
# Threat Intelligence (Optional — free tier available)
# ------------------------------------------------------------
# VirusTotal: https://www.virustotal.com/ (500 lookups/day free)
VIRUSTOTAL_API_KEY=
# AbuseIPDB: https://www.abuseipdb.com/ (1000 lookups/day free)
ABUSEIPDB_API_KEY=
# ------------------------------------------------------------
# Scheduled Scans
# ------------------------------------------------------------
# No extra configuration needed. The scheduler starts automatically
# with the app and checks every hour for scans that are due.
# Users create scheduled scans via POST /scheduled-scans (requires JWT auth).
# Webhooks fire automatically if a scheduled scan detects a score drop.