ติดตั้ง Coolify บน VPS (Self-hosted PaaS แทน Heroku)
Coolify คือ self-hosted PaaS แบบโอเพนซอร์สที่ให้ประสบการณ์เหมือน Heroku, Vercel หรือ Netlify แต่รันบน VPS ของคุณเอง — deploy แอปจาก Git อัตโนมัติ, ได้ SSL ฟรีจาก Let's Encrypt, จัดการ database/Redis ผ่าน dashboard และรองรับ Docker Compose โดยไม่ต้องจ่ายค่า platform รายเดือนแพงๆ และไม่ถูกล็อกด้วย vendor บทความนี้สอนติดตั้งและ deploy แอปแรกแบบครบขั้นตอน
ความต้องการของระบบ
- ขั้นต่ำ: 2 vCPU, RAM 2 GB, disk 30 GB
- แนะนำ: RAM 4 GB ขึ้นไปถ้า build แอปหนักหรือรันหลาย service
- OS: Ubuntu 22.04+ / Debian 12 (รองรับ Docker)
- โดเมนที่ชี้มาที่ VPS (สำหรับ dashboard + แอป)
ติดตั้ง Coolify
# สคริปต์ติดตั้งอย่างเป็นทางการ (ติดตั้ง Docker ให้ด้วยถ้ายังไม่มี)
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash
# เมื่อเสร็จ เปิด dashboard ครั้งแรกที่
# http://YOUR_VPS_IP:8000
# สร้าง admin account แล้วตั้งโดเมนของ 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
แก้ปัญหาที่พบบ่อย
ติดตั้งแล้วเปิด 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 จริง