Merge branch 'forgejo-dev' into newfeat
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
commit
c57a75e36a
50 changed files with 2760 additions and 961 deletions
52
.env.example
52
.env.example
|
|
@ -1,49 +1,37 @@
|
|||
# N8 (optional): allowlist โฮสต์ลิงก์ไฟล์รีโมต — ไม่ตั้ง = admincourt.go.th
|
||||
# EXTERNAL_FILE_HOSTS=admincourt.go.th
|
||||
# N10 (optional): API key ของ /api/external/* (backend e-Court เรียก server-to-server)
|
||||
|
||||
########### สำหรับ npm run dev และ แอปบน container
|
||||
# Sign/Hash ที่ใช้ฝังในเอกสาร(docx)
|
||||
SECRET=""
|
||||
PRIVATE_KEY_HEX=""
|
||||
SECRET="" # HmacSHA256
|
||||
PRIVATE_KEY_HEX=""
|
||||
PUBLIC_KEY_HEX=""
|
||||
## ไม่ตั้ง/ว่าง = ปฏิเสธทุก request (fail closed) — ตั้งค่ายาวและสุ่ม เช่น 32+ ตัวอักษร
|
||||
EXTERNAL_API_KEY=""
|
||||
# docver token (2026-10-22): API key ของ POST /api/documents/token (header x-api-key)
|
||||
# และ POST /api/note/auth/token (เส้น mint login-token ของแอป note — PLAN-SSO.md)
|
||||
# ไม่ตั้ง/ว่าง = ปฏิเสธทุก request (fail closed) — ตั้งค่ายาวและสุ่ม เช่น 32+ ตัวอักษร
|
||||
# (ห้าม log ค่า key ดิบ — เทียบแบบ timing-safe ทุกครั้ง)
|
||||
# GET /api/documents/latest (2026-10-31) รับ DOCVER_API_KEY นี้ หรือ EXTERNAL_API_KEY
|
||||
# (ด้านบน) ตัวใดตัวหนึ่งตรง = ผ่าน — ทั้งคู่ไม่ตั้ง = 401 fail closed เช่นกัน
|
||||
DOCVER_API_KEY=
|
||||
DOCVER_API_KEY=""
|
||||
# secret เซ็น/ตรวจ JWT HS256 ของทุก endpoint /api/documents/* (Authorization: Bearer)
|
||||
# + login-token ของ SSO (แยกสิทธิ์ด้วย claim purpose — PLAN-SSO.md D4)
|
||||
# ไม่ตั้ง/ว่าง = ออก token ไม่ได้ (500) และทุก endpoint ตอบ 401 รวมถึงเข้า annotate
|
||||
# ไม่ได้ (ทางเข้า session เดียวคือลิงก์ SSO) — dev ต้องมีค่านี้ใน .env เสมอ
|
||||
# ⚠️ ก่อน production: rotate ค่าจริง (ค่า hex เดิมเคยถูก commit ไว้ใน comment — ถือว่าหลุด)
|
||||
DOCVER_TOKEN_SECRET=
|
||||
# ใช้ตอน migrate และ การใช้งาน
|
||||
# ใช้ตอน migrate และ การใช้งาน ใน development
|
||||
DATABASE_URL=postgresql://postgres:postgres@127.0.0.1:54322/ecourt-note
|
||||
### สำหรับโค้ดตัวอย่างระบบนอกเรียกเข้ามาไม่ได้ใช้ในระบบนี้ ห้ามเอาไช้
|
||||
DOCEDIT_BASE_URL=http://127.0.0.1:3000/docedit
|
||||
# Optional เวลาหมดอายุที่ฝังไว้ในข้อมูล (ticket_data), worker ควรเท่ากับจำนวน CPU core -1
|
||||
TMPL_PATH='./public/tmpl'
|
||||
TICKET_SEC=300
|
||||
DOCX_WORKERS=3
|
||||
# Optional ไม่ใส่ก็ได้มีค่า default
|
||||
TMPL_PATH='./public/tmpl'
|
||||
TICKET_SEC=300 # อายุของ ticket ยิ่งน้อยยิ่งดี
|
||||
DOCX_WORKERS=3 # cpu core หักออก 1
|
||||
|
||||
########### สำหรับโค้ดตัวอย่างให้ระบบนอกเรียกเข้ามาไม่ได้ใช้ในระบบนี้ ห้ามเอาไช้ในส่วนอื่น
|
||||
DOCEDIT_BASE_URL=http://127.0.0.1:3000/docedit
|
||||
|
||||
########### สำหรับ แอป และ service ต่างๆใน container
|
||||
APP_DOMAIN=docedit.example.com
|
||||
|
||||
## สำหรับ docker-compose.yaml
|
||||
POSTGRES_USER=postgres
|
||||
POSTGRES_PASSWORD=postgres
|
||||
POSTGRES_DB=note
|
||||
|
||||
# ใช้สำหรับ local dev ถ้า minio อยู่คนละเครื่องให้ดูค่าให้เหมาะสม
|
||||
MINIO_ENDPOINT=127.0.0.1
|
||||
MINIO_PORT=19000
|
||||
MINIO_USE_SSL=false
|
||||
MINIO_ACCESS_KEY=minioadmin
|
||||
MINIO_SECRET_KEY=minioadmin
|
||||
# MINIO_BUCKET=docver
|
||||
|
||||
# DOCVER_LINK_TTL_SECONDS=900
|
||||
|
||||
# DOCVER_TOKEN_TTL_SECONDS=3600
|
||||
|
||||
# (ถอดแล้ว 2026-10-30) NOTE_SESSION_SECRET ของรอบ cookie oacCaseSig — แอป note
|
||||
|
|
@ -83,7 +71,7 @@ FID_HASH_PEPPER=
|
|||
|
||||
# add-in ticket auth (2026-10-27, docs/PLAN-ADDIN-AUTH.md): add-in ใน Word ขอ token
|
||||
# ที่ POST /api/documents/token ด้วย body {ticket_data, HmacSha256} ที่ e-Court stamp
|
||||
# มากับไฟล์ — secret ต้องตรงกับตัว stamp ของ e-Court ทั้งสองฝั่ง
|
||||
# มากับไฟล์ — secret ต้องตรงกันสองฝั่ง: e-Court (ตัว stamp) กับ server นี้ (ตัว verify)
|
||||
# ฝั่ง server ตรวจ HMAC ของ ticket: ADDIN_TICKET_SECRET (ไม่ตั้ง = ใช้ env SECRET
|
||||
# ของกลุ่ม template → ยังไม่ตั้งอีก = "super_secret" ตาม requirement)
|
||||
# ⚠️ production ต้องตั้งค่าจริง — ค่า default รู้กันหมด = ใครก็ปลอม ticket ได้
|
||||
|
|
@ -91,8 +79,6 @@ FID_HASH_PEPPER=
|
|||
# 2026-10-30: ทาง ticket ของ SSO (POST /api/note/auth/session) ปฏิเสธค่า default
|
||||
# นี้เฉพาะใน production — dev ใช้ default ทดสอบโหมด ticket ได้เลย (เครื่องมือ dev
|
||||
# อย่าง make-login-link/make-ticket-docx ก็ default ค่าเดียวกัน)
|
||||
# 2026-11-04: ฝั่ง add-in ไม่มี secret อีกต่อไป (ถอด NEXT_PUBLIC_ADDIN_TICKET_SECRET
|
||||
# ตาม PLAN-SSO.md D13 — การตรวจ HMAC เป็นของ server อย่างเดียว)
|
||||
# ADDIN_TICKET_SECRET=super_secret
|
||||
# ฝั่ง add-in (inline ลง bundle ตอน build — ใช้เป็นแค่ UX gate ตัดเคสไฟล์ถูกแก้ก่อนยิง
|
||||
# network ส่วนความมั่นคงจริงอยู่ที่ฝั่ง server ข้างบน · ตามคำขอผู้ใช้ 2026-10-29
|
||||
# แก้ add-in เป็นงานแยก — ยังคงไว้ตาม PLAN-ADDIN-AUTH.md D3)
|
||||
# NEXT_PUBLIC_ADDIN_TICKET_SECRET=super_secret
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue