ติดตั้ง Coolify self-hosted PaaS บน VPS

ติดตั้ง Coolify บน VPS (Self-hosted PaaS แทน Heroku)

มิถุนายน 2026 · อ่าน 8 นาที

Coolify คือ self-hosted PaaS แบบโอเพนซอร์สที่ให้ประสบการณ์เหมือน Heroku, Vercel หรือ Netlify แต่รันบน VPS ของคุณเอง — deploy แอปจาก Git อัตโนมัติ, ได้ SSL ฟรีจาก Let's Encrypt, จัดการ database/Redis ผ่าน dashboard และรองรับ Docker Compose โดยไม่ต้องจ่ายค่า platform รายเดือนแพงๆ และไม่ถูกล็อกด้วย vendor บทความนี้สอนติดตั้งและ deploy แอปแรกแบบครบขั้นตอน

ความต้องการของระบบ

ติดตั้ง Coolify

# สคริปต์ติดตั้งอย่างเป็นทางการ (ติดตั้ง Docker ให้ด้วยถ้ายังไม่มี)
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash

# เมื่อเสร็จ เปิด dashboard ครั้งแรกที่
# http://YOUR_VPS_IP:8000
# สร้าง admin account แล้วตั้งโดเมนของ dashboard
หมายเหตุ: หลังตั้งโดเมนให้ dashboard (เช่น coolify.yourdomain.com) Coolify จะขอ SSL ให้อัตโนมัติ — อย่าลืมเปิด port 80, 443 และ 8000 บน firewall และชี้ A record มาที่ VPS ก่อน

เชื่อม Git และ Deploy แอปแรก

# ใน dashboard:
# 1. Sources > เชื่อม GitHub/GitLab (ผ่าน GitHub App หรือ deploy key)
# 2. + New Resource > เลือก repository
# 3. Coolify ตรวจ build pack อัตโนมัติ:
#    - Nixpacks (auto-detect Node/Python/PHP/Go)
#    - Dockerfile
#    - Docker Compose
# 4. ตั้ง domain ของแอป เช่น app.yourdomain.com
# 5. กด Deploy — Coolify จะ build + run + ขอ SSL ให้

ทุกครั้งที่ push เข้า branch ที่ตั้งไว้ Coolify จะ rebuild และ deploy ใหม่อัตโนมัติผ่าน webhook ทำให้ได้ CI/CD ในตัวโดยไม่ต้องตั้ง pipeline เอง

เพิ่ม Database และ Environment Variables

# เพิ่ม database ผ่าน dashboard:
# + New Resource > Databases > PostgreSQL / MySQL / Redis / MongoDB
# Coolify สร้าง container + connection string ให้

# ตั้ง env ของแอป:
# ไปที่ Application > Environment Variables
# ใส่ DATABASE_URL, SECRET_KEY ฯลฯ
# กด Redeploy เพื่อให้ env ใหม่มีผล

ตั้ง Backup อัตโนมัติให้ Database

Coolify ตั้ง scheduled backup ของ database ขึ้น S3/local ได้ในตัว — เปิดใช้เสมอสำหรับ production:

# Database > Backups
# - ตั้ง schedule (cron เช่น 0 3 * * * = ตี 3 ทุกคืน)
# - เลือกปลายทาง: Local หรือ S3-compatible
# - ตั้ง retention (เก็บกี่ชุด)

ตรวจสอบว่า Coolify ทำงานถูกต้อง

ยืนยันว่า Coolify core, proxy และแอปที่ deploy ทำงานครบ และ SSL ออกจริง:

# 1. container ของ Coolify ทำงาน
docker ps | grep -E 'coolify|traefik'

# 2. proxy (Traefik) ฟัง port 80/443
sudo ss -tlnp | grep -E ':80|:443'

# 3. ทดสอบแอปที่ deploy ตอบ HTTPS
curl -I https://app.yourdomain.com

# 4. ดู deployment log ของแอป (ใน dashboard หรือ)
docker logs <app-container-name> --tail 50
Tip: ถ้าแอป deploy สำเร็จแต่เปิดไม่ขึ้น (502) มักเป็นเรื่อง "พอร์ตที่แอปฟัง" ไม่ตรงกับที่ Coolify คาด — ตรวจ Ports Exposes ใน setting ของแอปให้ตรงกับ port ที่แอปจริง listen (เช่น Node มัก 3000)

แก้ปัญหาที่พบบ่อย

ติดตั้งแล้วเปิด dashboard ไม่ได้ (port 8000)

firewall บล็อกหรือ service ยัง start ไม่เสร็จ ตรวจ:

sudo ufw allow 8000,80,443/tcp
docker ps | grep coolify     # ต้องเห็น container ทำงาน
docker logs coolify --tail 50

Build ล้มเหลว "out of memory"

การ build แอป (โดยเฉพาะ Node/Next.js) กิน RAM สูง VPS RAM 2 GB อาจไม่พอ เพิ่ม swap ชั่วคราวหรืออัปเกรด RAM:

sudo fallocate -l 2G /swapfile && sudo chmod 600 /swapfile
sudo mkswap /swapfile && sudo swapon /swapfile

SSL ไม่ออก (ขึ้น http เฉยๆ)

โดเมนยังไม่ชี้มาที่ VPS หรือ port 80 ถูกบล็อก ทำให้ Let's Encrypt challenge ไม่ผ่าน ตรวจ dig +short app.yourdomain.com ต้องได้ IP ของ VPS

Webhook ไม่ trigger auto-deploy

ตรวจว่า GitHub App/deploy key เชื่อมถูกและ webhook URL ของ Coolify เข้าถึงได้จากภายนอก (ต้องมีโดเมน + SSL ไม่ใช่ IP เปล่า) ดู delivery log ใน GitHub > Settings > Webhooks


คำถามที่พบบ่อย

Coolify ฟรีจริงไหม?

ตัว self-hosted ฟรีและโอเพนซอร์ส 100% จ่ายแค่ค่า VPS ที่รันเอง มีเวอร์ชัน Cloud ที่ Coolify โฮสต์ให้แบบเสียเงินสำหรับคนที่ไม่อยากดูแล server เอง แต่ความสามารถหลักเหมือนกัน

เหมาะกับใคร?

เหมาะกับ dev/ทีมเล็กที่อยากได้ workflow แบบ Heroku/Vercel แต่คุมต้นทุนและข้อมูลเอง รันหลายโปรเจกต์บน VPS เดียว เหมาะกับ side project, staging และ production ขนาดเล็ก-กลาง

ย้ายจาก Heroku/Vercel มา Coolify ยากไหม?

ไม่ยากถ้าแอปมี Dockerfile หรือ build pack มาตรฐาน ส่วนใหญ่แค่เชื่อม repo, ตั้ง env เดิม และ migrate database งานหลักคือการชี้ DNS และตั้ง backup ให้ครบก่อนสลับ traffic จริง