# ===== Core ===== NODE_ENV=development API_PORT=3001 API_PUBLIC_URL=http://localhost:3001 # ===== Database mode ===== # mongo = MongoDB (ค่าเริ่มต้น — ฐานข้อมูลหลักของโปรเจกต์) # memory = RAM ข้อมูลตัวอย่าง (demo ไม่ต้องมี DB หายเมื่อรีสตาร์ท) # prisma = PostgreSQL (ทางเลือกเดิม — เก็บไว้เผื่อ ดู packages/database) DB_MODE=mongo # MongoDB — เครื่อง dev นี้ใช้ container ที่พอร์ต 27018; self-host ใหม่ใช้ 27017 MONGODB_URL=mongodb://127.0.0.1:27018/bccrm # ===== Redis (สถานะคิวสด / background jobs) ===== REDIS_URL=redis://127.0.0.1:6379 # ===== Object storage (MinIO / S3-compatible) สำหรับรูปและไฟล์แนบ ===== S3_ENDPOINT=http://127.0.0.1:9100 S3_BUCKET=bccrm S3_ACCESS_KEY= S3_SECRET_KEY= # ===== PostgreSQL (เฉพาะ DB_MODE=prisma) ===== DATABASE_URL=postgresql://bccrm:bccrm@localhost:5432/bccrm # ===== Auth ===== JWT_SECRET=change-me-to-a-long-random-string JWT_EXPIRES_IN=7d # ===== บัญชีสาธิต (ใช้เฉพาะ DB_MODE != prisma ที่ยังไม่มีตาราง users) ===== # owner@example.com / demo1234 # ===== LINE Platform (ต่อ tenant/สาขา — ค่าเริ่มต้นสำหรับ dev) ===== LINE_CHANNEL_ID= LINE_CHANNEL_SECRET= LINE_CHANNEL_ACCESS_TOKEN= LINE_LIFF_ID_BOOKING= LINE_LIFF_ID_TICKET= LINE_LIFF_ID_PROFILE= LIFF_URL= # ===== LINE Messaging Quota Optimization ===== # Push messages นับโควต้าข้อความฟรีรายเดือน (ฟรีจำกัด 300-500 ข้อความ/เดือน) # Reply messages (AI Chatbot, Rich Menu Postback) ฟรี 100% ไม่จำกัดจำนวน # ค่าเริ่มต้น: ปิดการ Push ทั้งหมด เพื่อหลีกเลี่ยงการเสียโควต้าโดยไม่จำเป็น ENABLE_LINE_PUSH=false # มาสเตอร์สวิตช์สำหรับ Push messages (ค่าเริ่มต้น: false) ENABLE_LINE_PUSH_ON_BOOKING=false # ไม่ส่ง push บัตรคิวตอนจอง (ลูกค้าดูบนหน้า LIFF อยู่แล้ว) ENABLE_LINE_PUSH_ON_CALLED=false # ส่ง push แจ้งเตือนเมื่อถูกเรียกคิวที่เคาน์เตอร์ (เปิดเมื่อต้องการ) ENABLE_LINE_PUSH_ON_ALMOST_THERE=false # ส่ง push แจ้งเตือนเมื่อใกล้ถึงคิว # ===== AI Assistant (DeepSeek / OpenAI Compatible) ===== AI_BASE_URL=https://api.deepseek.com AI_API_KEY= AI_MODEL=deepseek-chat # ===== Web Admin ===== ADMIN_PORT=3000 NEXT_PUBLIC_API_URL=http://localhost:3001 # ===== LIFF app ===== LIFF_PORT=3002 VITE_API_URL=http://localhost:3001 VITE_LIFF_ID= # ===== Queue policy ===== QUEUE_NOTIFY_AHEAD_COUNT=3 QUEUE_NO_SHOW_TIMEOUT_MINUTES=10