- Dockerfile: EXPOSE + CMD uvicorn --port 7000 - app/config.py: PORT default 8000 → 7000 - nginx default.conf: 6x proxy_pass backend:8000 → backend:7000 - docker-compose.prod.yml: BACKEND_PORT default 8001 → 7000, internal 7000 - docker-compose.yml (dev): 8000:8000 → 7000:7000 - imago-admin/docker-compose.yml: VITE_API_BASE_URL + port mapping → 7000 - .env.example: BACKEND_PORT=8001 → 7000 - deploy.sh: defaults + invites port 8001 → 7000
66 lines
3.2 KiB
Bash
66 lines
3.2 KiB
Bash
# ═══════════════════════════════════════════════════════════════
|
|
# Imago — Configuration de production
|
|
# ═══════════════════════════════════════════════════════════════
|
|
# Copiez ce fichier en .env dans le répertoire racine du projet :
|
|
# cp docker-compose/.env.example .env
|
|
#
|
|
# Puis éditez .env avec vos valeurs.
|
|
|
|
# ── Application ──────────────────────────────────────────────
|
|
APP_NAME=Imago
|
|
DEBUG=false
|
|
SECRET_KEY=changez-moi-par-une-valeur-longue-et-aleatoire
|
|
|
|
# ── Ports (exposés sur l'hôte) ───────────────────────────────
|
|
ADMIN_PORT=3001
|
|
BACKEND_PORT=7000
|
|
|
|
# ── Stockage ─────────────────────────────────────────────────
|
|
# "local" = fichiers sur disque
|
|
# "s3" = MinIO / AWS S3 / Cloudflare R2
|
|
STORAGE_BACKEND=local
|
|
UPLOAD_DIR=/app/data/uploads
|
|
THUMBNAILS_DIR=/app/data/thumbnails
|
|
MAX_UPLOAD_SIZE_MB=50
|
|
|
|
# Volume de stockage (défaut: volume Docker nommé "uploads"/"thumbnails")
|
|
# Pour NFS : UPLOAD_VOLUME=/NFS/IMAGO/uploads
|
|
# UPLOAD_VOLUME=
|
|
# THUMBNAIL_VOLUME=
|
|
|
|
# URLs signées pour le stockage local
|
|
SIGNED_URL_SECRET=changez-moi-en-prod
|
|
|
|
# ── Sauvegardes DB ───────────────────────────────────────────
|
|
# BACKUP_DIR=./backups
|
|
|
|
# ── AI ───────────────────────────────────────────────────────
|
|
AI_ENABLED=true
|
|
AI_PROVIDER=openrouter
|
|
OPENROUTER_API_KEY=sk-or-v1-votre-cle
|
|
OPENROUTER_MODEL=qwen/qwen2.5-vl-72b-instruct
|
|
|
|
# ── OCR ──────────────────────────────────────────────────────
|
|
OCR_ENABLED=true
|
|
TESSERACT_CMD=/usr/bin/tesseract
|
|
OCR_LANGUAGES=fra+eng
|
|
|
|
# ── CORS ─────────────────────────────────────────────────────
|
|
# Format JSON : ["http://localhost:3000", "https://votre-domaine.com"]
|
|
CORS_ORIGINS=["http://localhost:3000", "http://localhost:3001"]
|
|
|
|
# ── 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 (interne Docker — ne pas changer sauf besoin spécifique)
|
|
# REDIS_URL=redis://redis:***@REDIS_URL=redis://redis:***@... |