Web ภายในและ Worker
เลือกบริการ HTTP หรืองานเบื้องหลังที่รันต่อเนื่อง
เลือกในหน้าสร้างโปรเจค
| ประเภท | พอร์ต | โดเมน | การตรวจความพร้อม |
|---|---|---|---|
| Web/API | ระบุเองหรือเลือกให้อัตโนมัติ | ไม่บังคับ | HTTP candidate/host checks ตาม config |
| Worker | ไม่มีพอร์ตที่ Portal จอง | ไม่มี | ตรวจ process หลัง activate บน host |
เลือกประเภทบริการในขั้นแรกของหน้าสร้างโปรเจค แล้วเลือก repository และ runtime โปรเจกต์เดิมถือเป็น Web เมื่อมี release แม้ failed จะล็อกประเภทบริการและ runtime ของ Worker
Web ที่ไม่ผูกโดเมน
เว้นรายการ domain ของโปรเจกต์ว่างได้ ถ้าไม่มี route เดิม การ deploy ข้ามการเปลี่ยน Nginx/Certbot ของโปรเจกต์ หากลบโดเมนสุดท้ายจาก managed route เดิม Portal ถอด route พร้อมตรวจ/reload Nginx โดยเก็บ service และพอร์ตของแอปไว้ การเข้า IP:port ขึ้นกับ bind address และ firewall แอปที่ bind loopback ยังเข้าจากภายนอกไม่ได้จนกว่าจะจัดช่องทางเอง เพิ่มโดเมนภายหลังเพื่อใช้ Nginx/TLS ได้ ส่วนตัวแดชบอร์ด Portal ยังต้องมีโดเมน production
ตั้งค่า Worker ที่รันต่อเนื่อง
Worker รองรับ Node.js, Bun, Go และ Python script โดย Node/Bun ใช้ชื่อ start script ใน package, Go รัน binary ที่ build แล้ว ส่วน Python เลือก script mode และ entry file ภายใน source ค่า user ENV ว่างได้ Portal สร้าง environment file ที่จำกัดสิทธิ์โดยไม่เติม PORT/HOST ยังไม่รองรับ PHP, Compose, Python ASGI/WSGI, cron scheduling และงาน one-shot
{"scripts":{"start":"node worker.mjs"}}Activation และ rollback
- เตรียม dependencies/build/source โดยไม่เริ่ม candidate consumer แต่ trusted build/install scripts ยังรันโค้ดของ repository
- ก่อนสลับ เก็บ unit, environment, release link และ service state เดิม หยุด Worker เดิมก่อนเปลี่ยน live files
- เริ่ม Worker ใหม่และตรวจ PID เดิมทำงานโดยไม่มี crash/restart ตลอดห้าวินาที
- เมื่อล้ม ต้องหยุด process ใหม่ก่อนพยายามคืน config/service เดิม หากหยุดหรือกู้ไม่ได้จะแจ้งให้ตรวจ host
มีช่วงหยุดสั้น ๆ ระหว่างสลับ แอปต้องจัดการ SIGTERM และงานค้างเอง การตรวจ process ไม่ยืนยันผลสำเร็จของ queue หรือ exactly-once และ rollback ไม่ย้อนผลกระทบภายนอก