Imago/.env.example
Bruno Charest cc99fea20a
Some checks failed
CI / Lint & Format (push) Has been cancelled
CI / Tests (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / Docker Build (push) Has been cancelled
Add comprehensive test suite for image processing and related services
- Implement tests for database generator to ensure proper session handling.
- Create tests for EXIF extraction and conversion functions.
- Add tests for image-related endpoints, ensuring proper data retrieval and isolation between clients.
- Develop tests for OCR functionality, including language detection and text extraction.
- Introduce tests for the image processing pipeline, covering success and failure scenarios.
- Validate rate limiting functionality and ensure independent counters for different clients.
- Implement scraper tests to verify HTML content fetching and error handling.
- Add unit tests for various services, including storage and filename generation.
- Establish worker entry point for ARQ to handle background image processing tasks.
2026-02-24 11:22:10 -05:00

73 lines
1.7 KiB
Plaintext

# ============================================================
# Imago — Configuration
# Copier ce fichier en .env et remplir les valeurs
# ============================================================
# Application
APP_NAME="Imago"
APP_VERSION="1.0.0"
DEBUG=true
SECRET_KEY="changez-moi-en-production-avec-une-cle-aleatoire-longue"
# AI — Configuration
AI_ENABLED=true
# AI — Provider (gemini/openrouter)
AI_PROVIDER="openrouter"
# Serveur
HOST=0.0.0.0
PORT=8000
# Base de données
DATABASE_URL="sqlite+aiosqlite:///./data/imago.db"
# Pour PostgreSQL:
# DATABASE_URL="postgresql+asyncpg://user:password@localhost/shaarli"
# Stockage des fichiers
UPLOAD_DIR="./data/uploads"
THUMBNAILS_DIR="./data/thumbnails"
MAX_UPLOAD_SIZE_MB=50
# AI — Google Gemini
GEMINI_API_KEY="AIza..."
GEMINI_MODEL="gemini-3.1-pro-preview"
GEMINI_MAX_TOKENS=1024
# AI - Openrouter
# model name : mistralai/mistral-small-3.1-24b-instruct:free
# model name : google/gemini-2.0-flash-001
OPENROUTER_API_KEY="..."
OPENROUTER_MODEL="qwen/qwen2.5-vl-72b-instruct"
# AI — Comportement
AI_TAGS_MIN=5
AI_TAGS_MAX=10
AI_DESCRIPTION_LANGUAGE="français"
AI_CACHE_DAYS=30
# OCR
OCR_ENABLED=true
TESSERACT_CMD="/usr/bin/tesseract"
OCR_LANGUAGES="fra+eng"
# CORS
CORS_ORIGINS=["http://localhost:3000","http://localhost:8080","http://localhost:5173"]
# Authentification
ADMIN_API_KEY=""
JWT_SECRET_KEY="changez-moi-jwt-secret-en-production"
JWT_ALGORITHM="HS256"
# Rate Limiting (requêtes par minute — legacy)
RATE_LIMIT_UPLOAD=10
RATE_LIMIT_AI=20
# Rate Limiting par plan (requêtes par heure)
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