mirror of
https://github.com/Rarebuffalo/securelens-backend.git
synced 2026-06-19 07:00:30 +00:00
88 lines
3.2 KiB
Plaintext
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.
|