# /home/dom/ai/rpa_vision_v3/.env.local # Chargé par tous les services systemd via EnvironmentFile= # # IMPORTANT : format systemd EnvironmentFile # - Pas de "export" devant les variables # - Pas de guillemets autour des valeurs (sauf si espaces) # - Commentaires avec # # - Une variable par ligne : CLE=valeur # --- Secrets (OBLIGATOIRES en prod) --- ENCRYPTION_PASSWORD=CHANGE_ME SECRET_KEY=CHANGE_ME # --- Runtime --- ENVIRONMENT=production # --- Token API fixe (streaming server + agent) --- # Générer avec : python3 -c "import secrets; print(secrets.token_hex(32))" # OBLIGATOIRE : si vide en prod, le serveur de streaming refuse de démarrer # (fail-closed P0-C). Pour désactiver l'auth en dev local : RPA_AUTH_DISABLED=true RPA_API_TOKEN=CHANGE_ME # --- Auth dashboard Flask (port 5001, Fix P0-A) --- # HTTP Basic Auth obligatoire sur tous les endpoints sauf healthchecks. # OBLIGATOIRE en prod. Pour désactiver en dev : DASHBOARD_AUTH_DISABLED=true DASHBOARD_USER=lea DASHBOARD_PASSWORD=CHANGE_ME # --- Worker mode --- # thread -> worker intégré à l'API # external -> worker dans rpa-vision-v3-worker.service (recommandé prod) # disabled -> API upload only RPA_PROCESSING_WORKER=external # --- Ports (healthcheck.sh les utilise) --- RPA_API_HOST=127.0.0.1 RPA_API_PORT=8000 RPA_DASHBOARD_HOST=127.0.0.1 RPA_DASHBOARD_PORT=5001 RPA_CHECK_DASHBOARD=1 # --- Worker heartbeat --- RPA_WORKER_HEARTBEAT_PATH=data/runtime/health/worker_heartbeat.json RPA_WORKER_HEARTBEAT_MAX_AGE_S=60 # --- Retention / rotation --- RPA_DATA_DIR=data RPA_RETENTION_FAILURE_CASES_DAYS=14 RPA_RETENTION_ARCHIVE_FAILURE_CASES=true RPA_RETENTION_WATCHDOG_DAYS=7 RPA_RETENTION_GUARD_REPORTS_DAYS=30 # --- Healthcheck - disque --- RPA_MIN_FREE_MB=1024 # --- VLM (modèle de vision local) --- RPA_VLM_MODEL=qwen3-vl:8b VLM_MODEL=qwen3-vl:8b