# ═══════════════════════════════════════════════════════════════ # Imago — Configuration # ═══════════════════════════════════════════════════════════════ # Copiez ce fichier en .env et ajustez les valeurs. # cp .env.example .env # ── Application ────────────────────────────────────────────── APP_NAME=Imago APP_VERSION=2.0.0 DEBUG=false SECRET_KEY=changez-moi-par-une-valeur-longue-et-aleatoire # ── Serveur ────────────────────────────────────────────────── HOST=0.0.0.0 PORT=8000 # ── Base de données ────────────────────────────────────────── # SQLite (dev): sqlite+aiosqlite:///./data/imago.db # PostgreSQL: postgresql+asyncpg://user:pass@host:5432/imago DATABASE_URL=sqlite+aiosqlite:///./data/imago.db # ── Stockage ───────────────────────────────────────────────── # local (fichiers sur disque) ou s3 (MinIO / AWS S3 / Cloudflare R2) STORAGE_BACKEND=local UPLOAD_DIR=./data/uploads THUMBNAILS_DIR=./data/thumbnails MAX_UPLOAD_SIZE_MB=50 # ── Stockage S3 (si STORAGE_BACKEND=s3) ────────────────────── S3_BUCKET=imago S3_PREFIX= S3_REGION=us-east-1 S3_ENDPOINT_URL=http://localhost:9000 S3_ENDPOINT_PUBLIC=http://localhost:9000 S3_ACCESS_KEY=minioadmin S3_SECRET_KEY=minioadmin SIGNED_URL_SECRET=changez-moi-en-prod # ── AI ─────────────────────────────────────────────────────── AI_ENABLED=true AI_PROVIDER=openrouter # Google Gemini GEMINI_API_KEY= GEMINI_MODEL=gemini-3.1-pro-preview GEMINI_MAX_TOKENS=1024 # OpenRouter OPENROUTER_API_KEY= OPENROUTER_MODEL=qwen/qwen2.5-vl-72b-instruct # AI Comportement AI_TAGS_MIN=5 AI_TAGS_MAX=10 AI_DESCRIPTION_LANGUAGE=francais AI_CACHE_DAYS=30 AI_REQUEST_TIMEOUT=60 AI_MAX_RETRIES=2 # ── OCR ────────────────────────────────────────────────────── OCR_ENABLED=true TESSERACT_CMD=/usr/bin/tesseract OCR_LANGUAGES=fra+eng # ── CORS ───────────────────────────────────────────────────── # Format JSON : ["http://localhost:3000", "http://localhost:5173"] CORS_ORIGINS=["http://localhost:3000", "http://localhost:5173"] # ── Authentification ───────────────────────────────────────── ADMIN_API_KEY= JWT_SECRET_KEY=changez-moi-jwt-secret JWT_ALGORITHM=HS256 # ── Rate Limiting ──────────────────────────────────────────── RATE_LIMIT_FREE_UPLOAD=20 RATE_LIMIT_FREE_AI=50 RATE_LIMIT_STANDARD_UPLOAD=100 RATE_LIMIT_STANDARD_AI=200 RATE_LIMIT_PREMIUM_UPLOAD=500 RATE_LIMIT_PREMIUM_AI=1000 # Redis pour persistence des compteurs (optionnel, mémoire par défaut) # Format: redis://host:***@RATE_LIMIT_STORAGE_URL= # ── Redis + ARQ Worker ─────────────────────────────────────── REDIS_URL=redis://localhost:***@PIPELINE_TIMEOUT=300