# ======================================== # LCBP3 Backend — Environment Variables # Copy to .env and fill in real values # หมายเหตุ: ค่า DB_PASSWORD, REDIS_PASSWORD, # ELASTICSEARCH_PASSWORD ต้องตรงกับที่ตั้งไว้ใน # services stack (MariaDB/Redis/Elasticsearch # ดูจาก .env ของ services stack ที่รันอยู่แล้วบน QNAP # ======================================== # Database DB_HOST=localhost DB_PORT=3306 DB_USERNAME=admin DB_PASSWORD=Center2025 DB_DATABASE=lcbp3_dev # Redis REDIS_HOST=localhost REDIS_PORT=16379 REDIS_PASSWORD=Center2025 # JWT JWT_SECRET=change-me-in-production JWT_EXPIRES_IN=7d # File Storage UPLOAD_DEST=./uploads MAX_FILE_SIZE=52428800 # ClamAV CLAMAV_HOST=localhost CLAMAV_PORT=3310 # ======================================== # ADR-023 Unified AI Architecture # ======================================== # Isolated AI Host (Desk-5439) AI_HOST_URL=http://192.168.10.100:11434 AI_QDRANT_URL=http://192.168.10.100:6333 AI_N8N_WEBHOOK_URL=http://192.168.10.100:5678/webhook/lcbp3-ai AI_N8N_SERVICE_TOKEN=change-me-service-token AI_TIMEOUT_MS=30000 AI_MAX_RETRIES=3 # Legacy aliases kept during ADR-023 migration AI_N8N_AUTH_TOKEN=change-me-service-token # Qdrant vector store (local docker-compose or QNAP) QDRANT_URL=http://localhost:6333 # Ollama (Admin Desktop Desk-5439 — ADR-018 AI boundary) OLLAMA_MODEL_MAIN=gemma4:e4b OLLAMA_MODEL_EMBED=nomic-embed-text OLLAMA_EMBED_MODEL=nomic-embed-text OLLAMA_RAG_MODEL=gemma4:e4b OLLAMA_URL=http://192.168.10.100:11434 # Qdrant (ADR-023A) QDRANT_HOST=http://192.168.10.100:6333 QDRANT_COLLECTION=lcbp3_documents # OCR sidecar (PaddleOCR on Desk-5439) OCR_CHAR_THRESHOLD=100 OCR_API_URL=http://192.168.10.100:8765 # Thai preprocessing microservice (PyThaiNLP — Admin Desktop) THAI_PREPROCESS_URL=http://192.168.10.100:8765 # ADR-023 forbids cloud AI fallback for project documents. # RAG query config RAG_TOPK=20 RAG_FINAL_K=5 RAG_TIMEOUT_MS=5000 RAG_QUERY_CACHE_TTL=300