Déploiement serveur pour test de génération multimédia (HuggingFace + Cloudflare)
Build and Push Docker Image / build-and-push (push) Successful in 35s

This commit is contained in:
xavier committed 2026-08-24 20:44:15 +02:00
1 parent 391d9acae1
commit 916af3e62b
2 files changed
+19 -12

No files matched your search

+14 -4
View File
@@ -20,13 +20,17 @@ from modules.billing_manager import charger_soldes, sauvegarder_soldes
# Lancement du module d'auto-mise à jour en arrière-plan
import modules.model_updater
dossier_media = "/DATA/AppData/MULTI-IA-AETHAS38/RAG/Media"
os.makedirs(dossier_media, exist_ok=True)
# --- MIDDLEWARE DE SÉCURITÉ ---
class SecurityMiddleware(BaseHTTPMiddleware):
async def dispatch(self, request, call_next):
ip = request.headers.get("X-Forwarded-For", request.client.host).split(",")[0].strip()
utilisateur = request.cookies.get("aethas_user", "visiteur")
if not request.url.path.startswith("/Logo") and not request.url.path.startswith("/login"):
# EXCLUSION DE /Media POUR NE PAS BLOQUER L'IMAGE
if not request.url.path.startswith(("/Logo", "/login", "/Media")):
if verifier_et_bloquer_vpn(ip, utilisateur):
return HTMLResponse("<h1 style='color:red; text-align:center;'>Accès refusé</h1><p style='text-align:center;'>VPN ou Proxy strictement interdit.</p>", status_code=403)
@@ -44,10 +48,16 @@ app, rt = fast_app(
middleware=[Middleware(SecurityMiddleware)]
)
dossier_media = "/DATA/AppData/MULTI-IA-AETHAS38/RAG/Media"
os.makedirs(dossier_media, exist_ok=True)
app.mount("/Logo", StaticFiles(directory="Logo"), name="Logo")
app.mount("/Media", StaticFiles(directory="/DATA/AppData/MULTI-IA-AETHAS38/RAG/Media"), name="Media")
# (J'ai supprimé l'ancien montage /Media capricieux de Docker)
# --- ROUTE DÉDIÉE POUR L'AFFICHAGE ET TÉLÉCHARGEMENT DES MÉDIAS ---
@rt('/Media/{filename}')
def serve_media(filename: str):
chemin = os.path.join(dossier_media, filename)
if os.path.exists(chemin):
return FileResponse(chemin, media_type="image/png")
return HTMLResponse("Image introuvable sur le disque", status_code=404)
# --- ROUTES D'AUTHENTIFICATION ---
@rt('/login')