deepshield / .env.example
ar07xd's picture
Sync from GitHub via hub-sync
1548c1f verified
# === DeepShield backend config example ===
# Server
APP_HOST=0.0.0.0
APP_PORT=8000
DEBUG=false
CORS_ORIGINS=["http://localhost:5173", "https://deepshield.ar07xd.com"]
PUBLIC_APP_URL=https://deepshield.ar07xd.com
PUBLIC_API_URL=https://ar07xd-deepshield.hf.space
# === Database ===
# SQLite (default β€” zero-config, great for dev / college demo):
DATABASE_URL=sqlite:///./deepshield.db
# Postgres (production path β€” run migrations are applied automatically
# by init_db via ALTER TABLE when new columns are missing):
# DATABASE_URL=postgresql+psycopg2://deepshield:CHANGEME@localhost:5432/deepshield
# Phase 19.1 β€” SHA-256 dedup cache TTL (days)
CACHE_TTL_DAYS=30
# Phase 19.2 β€” object storage root (content-addressed media + thumbnails)
MEDIA_ROOT=./media
# File upload
MAX_UPLOAD_SIZE_MB=100
UPLOAD_DIR=./temp_uploads
# AI models
PRELOAD_MODELS=true
DEVICE=cpu
# LLM explainability (Phase 12)
LLM_PROVIDER=gemini
LLM_API_KEY=
LLM_MODEL=gemini-1.5-flash
# News lookup (Phase 13)
NEWS_API_KEY=
NEWS_API_BASE_URL=https://newsdata.io/api/1/latest
NEWS_API_ARCHIVE_BASE_URL=https://newsdata.io/api/1/archive
NEWS_API_LANGUAGES=en,hi
NEWS_API_RECENT_TIMEFRAME=1
NEWS_API_OLDER_DAYS=7
NEWS_API_PAGE_SIZE=10
NEWS_API_PRIMARY_COUNTRY=in
# Auth (REQUIRED in production β€” generate with python -c "import secrets; print(secrets.token_urlsafe(48))")
JWT_SECRET_KEY=change-me-in-production
JWT_ALGORITHM=HS256
JWT_EXPIRATION_MINUTES=1440
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# Optional metadata writer
EXIFTOOL_PATH=