# Per-stack .env.example (S3) — app stack # คัดลอกจาก template หลัก แล้วเก็บเฉพาะ vars ที่ stack นี้ใช้ # Source: specs/04-Infrastructure-OPS/04-00-docker-compose/.env.template # # วิธีใช้ (บน QNAP): # cp /share/np-dms/.env.master /share/np-dms/app/.env # chmod 600 /share/np-dms/app/.env # --- ใช้โดย docker-compose-app.yml --- # File: .env (Unified for QNAP / Gitea Runner) # Change Log: 2026-04-19 # --------------------------------------------------------- # 1. Backend Service Configuration # --------------------------------------------------------- TZ=Asia/Bangkok NODE_ENV=production PORT=3000 # --- Database (MariaDB) --- DB_HOST=mariadb DB_PORT=3306 DB_DATABASE=lcbp3 DB_USERNAME=center DB_PASSWORD=Center#2025 # --- Redis (Cache & Queue) --- REDIS_HOST=cache REDIS_PORT=6379 REDIS_PASSWORD=redis3ac466bf9b6 # --- Search (Elasticsearch) --- ELASTICSEARCH_HOST=search ELASTICSEARCH_PORT=9200 ELASTICSEARCH_USERNAME=elastic ELASTICSEARCH_PASSWORD=elasticed0bbde94 # --- Security (JWT) --- JWT_SECRET=jwtsecret65adde8c76c6a0847d9649b2b67a06db1504693e6c912e51499b76e JWT_EXPIRATION=24h JWT_REFRESH_SECRET=jwtrefreshf6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2 # --- Numbering Logic --- NUMBERING_LOCK_TIMEOUT=5000 NUMBERING_RESERVATION_TTL=300 # --- File Storage --- UPLOAD_TEMP_DIR=/share/np-dms-as/data/uploads/temp UPLOAD_PERMANENT_DIR=/share/np-dms-as/data/uploads/permanent MAX_FILE_SIZE=52428800 # --------------------------------------------------------- # 2. Frontend Service Configuration # --------------------------------------------------------- # หมายเหตุ: ค่าเหล่านี้จะถูกใช้ตอน Docker Build (ตาม deploy.sh) NEXT_PUBLIC_API_URL=https://backend.np-dms.work/api AUTH_URL=https://lcbp3.np-dms.work # --- NextAuth --- # ค่านี้ต้องตรงกับ JWT_SECRET หรือตั้งแยกตามความปลอดภัย AUTH_SECRET=jwtsecret65adde8c76c6a0847d9649b2b67a06db1504693e6c912e51499b76e AUTH_TRUST_HOST=true # --- Shared Context --- INTERNAL_API_URL=http://backend:3000/api HOSTNAME=0.0.0.0 # --- Docker Image --- BACKEND_IMAGE_TAG=latest FRONTEND_IMAGE_TAG=latest # ClamAV CLAMAV_HOST=localhost CLAMAV_PORT=3310 # ======================================== # ADR-022 RAG — Retrieval-Augmented Generation # ======================================== # Qdrant vector store (local docker-compose or QNAP) QDRANT_URL=http://localhost:6333 # Ollama (Admin Desktop Desk-5439 — ADR-018 AI boundary) OLLAMA_EMBED_MODEL=nomic-embed-text OLLAMA_RAG_MODEL=gemma3:12b OLLAMA_URL=http://192.168.20.200:11434 # Thai preprocessing microservice (PyThaiNLP — Admin Desktop) THAI_PREPROCESS_URL=http://192.168.20.200:8765 # Typhoon API (cloud LLM — PUBLIC/INTERNAL only, never CONFIDENTIAL) TYPHOON_API_KEY=your-typhoon-api-key-here TYPHOON_API_URL=https://api.opentyphoon.ai/v1 # RAG query config RAG_TOPK=20 RAG_FINAL_K=5 RAG_TIMEOUT_MS=5000 RAG_QUERY_CACHE_TTL=300