คู่มือ aWhere
ติดตั้งและดูแลแพลตฟอร์ม

ตั้งค่าโหนด

การตั้งค่าของโหนดอยู่ที่ไหน ค่าที่ใช้บ่อย และตารางที่สร้างจากโค้ดของแต่ละเวอร์ชัน

หน้านี้บอกว่าการตั้งค่าของโหนดและแอปอยู่ที่ไหน และค่าไหนที่ใช้บ่อย ทุกคอนเทนเนอร์อ่านการตั้งค่าจากตัวแปร environment ของตัวเอง

การตั้งค่าอยู่ที่ไหน

  • Docker ใช้ env file ไฟล์เดียวสำหรับทั้งแพลตฟอร์ม คือ /etc/awhere/docker.env ตั้งได้เฉพาะค่าที่มีอยู่ในไฟล์นี้ ถ้าค่ามีเครื่องหมาย $ ให้เขียนเป็น %24
  • Apple Container ใช้ env file แยกตามคอนเทนเนอร์ คือ /etc/awhere/<name>.env โดย <name> คือชื่อคอนเทนเนอร์ ค่าในไฟล์นี้จะใช้แทนค่าที่ตั้งไว้ในอิมเมจ และระบบอ่านค่าตามตัวอักษร ไม่แทนค่า ${...} ให้
  • env file มีรหัสผ่านอยู่ด้วย ให้ตั้งสิทธิ์ให้อ่านได้เฉพาะบัญชีที่รันคอนเทนเนอร์
  • แก้ไฟล์แล้วให้ตรวจด้วย awhere preflight (Preflight) ค่าใหม่จะมีผลเมื่อสร้างคอนเทนเนอร์ใหม่ เช่น ตอนรัน awhere upgrade

ค่าที่ชี้ไปยังฐานข้อมูล

  • DATASTORE_URL, CONTENT_STORE_URL, SESSION_STORE_URL และ LOG_STORE_URL เป็น connection string ของ MongoDB ในรูป mongodb://<user>:<password>@<hosts>/<database>?authSource=admin ตัวเลือกอื่น เช่น authSource, replicaSet, tls, maxPoolSize ก็ใส่ไว้ใน URL นี้ทั้งหมด
  • ตัวแปรแบบแยกส่วนของ v4 ใช้ไม่ได้แล้ว ได้แก่ <STORE>_HOSTS, _NAME, _USER, _PASS, _MACHANISM, _SSL และ _POOL_SIZE โดย <STORE> คือคำขึ้นต้น เช่น DATASTORE ถ้ามี URL อยู่ด้วย ระบบจะไม่สนใจตัวแปรเหล่านี้ และ Preflight จะเตือนให้ลบ แต่ถ้าไม่มี URL โหนดจะไม่ยอมเริ่มทำงาน
  • authorization-server เก็บ session ไว้ใน SESSION_STORE_URL ถ้าเซิร์ฟเวอร์ MongoDB ประกาศชื่อโฮสต์ภายในที่คอนเทนเนอร์หาไม่เจอ ให้ใส่ directConnection=true ใน URL
  • FILE_STORE_URL ใช้ย้ายที่เก็บไฟล์ออกไปจากฐานข้อมูล content ถ้าไม่มีเหตุผลเฉพาะ ไม่ต้องตั้ง

broker ที่โหนดใช้คุยกัน

TRANSPORTER (nats://<host>:4222 หรือ TCP ถ้าทั้งแพลตฟอร์มอยู่บนเครื่องเดียว) และ NAMESPACE (ปกติคือ awhere) ต้องตั้งให้เหมือนกันทุกโหนด ทุกโหนดอ่านสองชื่อนี้ ชื่อเก่า SERVICE_TRANSPORTER และ SERVICE_NAMESPACE ยังใช้ได้เมื่อไม่ได้ตั้งชื่อใหม่ ให้เปลี่ยนเป็นชื่อใหม่ (authorization-server จะเตือนหนึ่งครั้งตอนเริ่ม) ดูของแต่ละโหนดได้ที่ตัวแปร environment ทั้งหมด

ค่าที่ใช้ค่าเริ่มต้นได้เลย

ตัวแปรโหนดค่าเริ่มต้นใช้ทำอะไร
PORTโหนดที่มี HTTP3000 (ตั้งไว้ในอิมเมจ)พอร์ตที่โหนดเปิดรับในคอนเทนเนอร์
BASE_PATHauthorization-server/api/auth/path ของหน้าลงชื่อเข้าใช้ เปลี่ยนได้ตอนรันโดยไม่ต้อง build ใหม่
THUMBNAIL_MAX_BYTESfile-services256 MiBขนาดไฟล์ใหญ่สุดที่ระบบจะทำภาพย่อให้ ใช้คุมไม่ให้กินหน่วยความจำมากเกินไป
AUDIT_RETENTION_DAYSlogging-services365จำนวนวันที่เก็บบันทึกการตรวจสอบ ถ้าตั้งเป็น 0 จะเก็บตลอดไป
USAGE_TIMEZONElogging-servicesAsia/Bangkokเขตเวลาที่ใช้ตัดวันในตัวเลขการใช้งาน
MANUAL_URLcore-servicesคู่มือสาธารณะหน้าที่ปุ่ม ช่วยเหลือ เปิด แพลตฟอร์มที่มีคู่มือของตัวเองต้องตั้งค่านี้

app-studio และ logging กำหนด path ของแอปตอน build ไม่ใช่ตอนรัน การตั้ง path ใน env file อย่างเดียวจึงไม่พอ

ตารางที่สร้างจากโค้ด

ในหน้านี้