99 lines
3.0 KiB
Bash
99 lines
3.0 KiB
Bash
# 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
|