Upgrade configuration and Docker stack to v2.0.0
This commit is contained in:
+59
-50
@@ -1,76 +1,85 @@
|
||||
# ============================================================
|
||||
# ═══════════════════════════════════════════════════════════════
|
||||
# Imago — Configuration
|
||||
# Copier ce fichier en .env et remplir les valeurs
|
||||
# ============================================================
|
||||
# ═══════════════════════════════════════════════════════════════
|
||||
# Copiez ce fichier en .env et ajustez les valeurs.
|
||||
# cp .env.example .env
|
||||
|
||||
# Application
|
||||
APP_NAME="Imago"
|
||||
APP_VERSION="1.0.0"
|
||||
DEBUG=true
|
||||
SECRET_KEY="changez-moi-en-production-avec-une-cle-aleatoire-longue"
|
||||
# ── Application ──────────────────────────────────────────────
|
||||
APP_NAME=Imago
|
||||
APP_VERSION=2.0.0
|
||||
DEBUG=false
|
||||
SECRET_KEY=changez-moi-par-une-valeur-longue-et-aleatoire
|
||||
|
||||
# AI — Configuration
|
||||
AI_ENABLED=true
|
||||
|
||||
# AI — Provider (gemini/openrouter)
|
||||
AI_PROVIDER="openrouter"
|
||||
|
||||
# Serveur
|
||||
# ── Serveur ──────────────────────────────────────────────────
|
||||
HOST=0.0.0.0
|
||||
PORT=8000
|
||||
|
||||
# Base de données
|
||||
DATABASE_URL="postgresql+asyncpg://imago:imago@db:5432/imago"
|
||||
# Modifiez les valeurs ci-dessus si vous utilisez une instance externe ou locale.
|
||||
# Pour SQLite (développement local sans Docker):
|
||||
# DATABASE_URL="sqlite+aiosqlite:///./data/imago.db"
|
||||
# ── 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
|
||||
|
||||
# Redis (ARQ Worker)
|
||||
REDIS_URL="redis://redis:6379/0"
|
||||
|
||||
# Stockage des fichiers
|
||||
UPLOAD_DIR="./data/uploads"
|
||||
THUMBNAILS_DIR="./data/thumbnails"
|
||||
# ── 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
|
||||
|
||||
# AI — Google Gemini
|
||||
GEMINI_API_KEY="AIza..."
|
||||
GEMINI_MODEL="gemini-3.1-pro-preview"
|
||||
# ── 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
|
||||
|
||||
# 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"
|
||||
# OpenRouter
|
||||
OPENROUTER_API_KEY=
|
||||
OPENROUTER_MODEL=qwen/qwen2.5-vl-72b-instruct
|
||||
|
||||
# AI — Comportement
|
||||
# AI Comportement
|
||||
AI_TAGS_MIN=5
|
||||
AI_TAGS_MAX=10
|
||||
AI_DESCRIPTION_LANGUAGE="français"
|
||||
AI_DESCRIPTION_LANGUAGE=francais
|
||||
AI_CACHE_DAYS=30
|
||||
AI_REQUEST_TIMEOUT=60
|
||||
AI_MAX_RETRIES=2
|
||||
|
||||
# OCR
|
||||
# ── OCR ──────────────────────────────────────────────────────
|
||||
OCR_ENABLED=true
|
||||
TESSERACT_CMD="/usr/bin/tesseract"
|
||||
OCR_LANGUAGES="fra+eng"
|
||||
TESSERACT_CMD=/usr/bin/tesseract
|
||||
OCR_LANGUAGES=fra+eng
|
||||
|
||||
# CORS
|
||||
CORS_ORIGINS=["http://localhost:3000","http://localhost:8080","http://localhost:5173"]
|
||||
# ── 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-en-production"
|
||||
JWT_ALGORITHM="HS256"
|
||||
# ── Authentification ─────────────────────────────────────────
|
||||
ADMIN_API_KEY=
|
||||
JWT_SECRET_KEY=changez-moi-jwt-secret
|
||||
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 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
|
||||
|
||||
Reference in New Issue
Block a user