Blog

  • สร้าง Video Downloader ด้วย AI ใน 1 ชั่วโมง 🎬

    สร้าง Video Downloader ด้วย AI ใน 1 ชั่วโมง 🎬

    ลองใช้งานได้เลย: https://ytdownload.justfather.com — โหลดวิดีโอจาก YouTube, TikTok, Facebook ฟรี!


    จุดเริ่มต้น

    เรื่องมันเริ่มจากความขี้เกียจล้วนๆ ครับ

    ผมอยากโหลดวิดีโอสั้นๆ จาก YouTube Shorts, TikTok, Facebook Reels มาเก็บไว้ดูออฟไลน์ แต่ทุกครั้งที่ต้องไปหาเว็บโหลด…

    • เว็บเต็มไปด้วยโฆษณา Pop-up 😤
    • ต้องกดหลายที กว่าจะโหลดได้
    • บางทีโหลดมาไม่มีเสียง
    • คุณภาพไม่ได้ตามที่อยากได้

    “ทำเองดีกว่า” — ความคิดเริ่มต้นแค่นี้แหละ


    ลองใช้ Claude Code เขียน

    แทนที่จะนั่งเขียนเองตั้งแต่ศูนย์ ลองให้ AI ช่วยดู

    บอกไปแค่:

    “อยากได้ webapp download shortvideo จาก youtube, fb reel, tiktok จาก url ที่ส่งให้”

    แค่ประโยคเดียว Claude Code ก็เริ่มถามกลับมา:

    • ใช้ Tech Stack อะไร? → Next.js + TypeScript
    • ดาวน์โหลดยังไง? → ลงเครื่องเลย
    • เลือกคุณภาพได้ไหม? → ได้ 360p, 720p, 1080p

    หลังจากตอบคำถาม มันก็วางแผน research libraries แล้วลุยเลย


    Design 8-bit เพราะ… ทำไมไม่ล่ะ? 🕹️

    บอก Claude ไปว่า:

    “Design ขอเว็บแนว 8-bit เก่าๆ กวนๆ”

    ได้มา:

    • สี Neon ฉูดฉาด (ชมพู, เขียว, เหลือง)
    • Scanline effect เหมือนจอ CRT เก่าๆ
    • ปุ่มแบบ Pixel พร้อม shadow
    • ASCII Art logo

    ขี้เหร่แบบ vintage 😂


    Test Agent หาบัค

    สิ่งที่ผมทำคือบอกให้ Claude สร้าง agent ขึ้นมาทดสอบโค้ดเอง

    ผลลัพธ์? เจอ 15 bugs 🐛

    รวมถึง:

    • ⚠️ SSRF – ใครก็ส่ง URL อะไรก็ได้มาโหลด (อันตราย!)
    • ⚠️ Memory Leak – Stream ไม่ cleanup
    • ⚠️ Race Condition – กดปุ่มเร็วๆ แล้วพัง

    Claude แก้ให้หมดเลย ไม่ต้องนั่ง debug เอง


    บัคที่ต้องแก้เอง

    มีอันนึงที่ agent ไม่เจอ — วิดีโอไม่มีเสียง 🔇

    YouTube บาง format มันแยก video กับ audio ออกจากกัน ต้องบอก yt-dlp ให้ merge เอง

    ปัญหาคือ ytdlp.stream() ไม่สามารถ merge ได้ และถ้าไม่มี ffmpeg ก็ merge ไม่ได้อีก

    วิธีแก้: เปลี่ยนไปใช้ format ที่มีทั้ง video + audio อยู่แล้ว

    // format string ที่ใช้
    best[ext=mp4][acodec!=none][vcodec!=none][protocol=https]/18/best
    • หลีกเลี่ยง HLS/m3u8 (มักโดน 403)
    • Fallback ไป format 18 (360p mp4 มีเสียง)

    อันนี้ต้องทดสอบเองถึงรู้ 555


    Bulk Download Mode 📦

    หลังจากใช้ไปสักพัก รู้สึกว่าโหลดทีละตัวมันช้า…

    บอก Claude ไปว่า:

    “ขอแบบ bulk ได้ไหม สูงสุด 10 url”

    ได้มา:

    • Mode Switcher – สลับระหว่าง SINGLE / BULK
    • Bulk URL Input – วาง URLs หลายตัวได้ (แยกบรรทัด, comma, หรือ space)
    • Download Queue – เห็นสถานะแต่ละตัว
    • ○ Pending → ◐ Fetching → ● Ready → ▼ Downloading → ✓ Completed
    • เลือก Format แยก – แต่ละวิดีโอเลือกคุณภาพต่างกันได้
    • Download All – กดปุ่มเดียวโหลดทุกตัว

    ใช้เวลาเพิ่มอีกแค่ไม่กี่นาที!


    Deploy ขึ้น Production 🚀

    หลังจากทำเสร็จแล้ว ก็อยากเอาขึ้นให้คนอื่นใช้ด้วย

    Stack ที่ใช้:

    • Docker – containerize app พร้อม yt-dlp และ ffmpeg
    • Coolify – self-hosted PaaS (ทางเลือกแทน Vercel/Heroku)
    • GitHub App – เชื่อม private repo กับ Coolify

    สิ่งที่ต้องทำ:

    1. สร้าง Dockerfile ที่ติดตั้ง yt-dlp และ ffmpeg
    2. ตั้งค่า next.config.ts ให้ build แบบ standalone
    3. สร้าง GitHub App เพื่อเชื่อมกับ Coolify
    4. ตั้งค่า DNS ชี้ subdomain มาที่ server
    5. กด Deploy!

    สรุป

    หัวข้อรายละเอียด
    เวลาทั้งหมด~1.5 ชั่วโมง
    บรรทัดโค้ดไม่รู้ ไม่ได้นับ 😅
    Bugs ที่เจอ15+ ตัว
    Tech StackNext.js, TypeScript, Tailwind, yt-dlp
    FeaturesSingle + Bulk download (สูงสุด 10 URLs)
    DeploymentDocker + Coolify
    Live URLytdownload.justfather.com

    สิ่งที่ได้เรียนรู้

    1. AI ช่วยได้เยอะ — แต่ต้องรู้ว่าจะถามอะไร
    2. Test Agent เวิร์ค — หาบัคได้เยอะกว่าที่คิด
    3. ยังต้อง manual test — AI ไม่รู้ว่าเสียงหายไปหรือเปล่า
    4. Design กวนๆ = สนุกกว่า — ไม่จำเป็นต้องเรียบร้อยตลอด
    5. Feature request ง่ายมาก — บอกแค่ “ขอ bulk download” ก็ได้เลย
    6. Deploy ไม่ยาก — Docker + Coolify ทำให้ทุกอย่างง่ายขึ้น

    ลองเล่นเอง?

    วิธีที่ 1: ใช้ออนไลน์เลย (แนะนำ)

    👉 https://ytdownload.justfather.com

    วาง URL แล้วโหลดได้เลย ไม่ต้องติดตั้งอะไร!


    วิธีที่ 2: รันบนเครื่องตัวเอง

    cd yt-downloader
    npm install
    npm run dev

    เปิด http://localhost:3000 แล้วลองวาง URL ดู

    ⚠️ หมายเหตุ: ใช้ส่วนตัวเท่านั้นนะ เคารพลิขสิทธิ์ด้วย


    ลองใช้งานกันเลย!

    🎬 ytdownload.justfather.com — โหลดวิดีโอจาก YouTube, TikTok, Facebook ได้ฟรี ไม่มีโฆษณา!


    สร้างด้วย Claude Code + ความขี้เกียจ 💪

  • รีวิว Coolify: ติดตั้ง WordPress + Next.js บน VPS ฟรี (ไม่ต้องจ่ายค่า Panel)

    รีวิว Coolify: ติดตั้ง WordPress + Next.js บน VPS ฟรี (ไม่ต้องจ่ายค่า Panel)

    เขียนโดย: Justfather | อัพเดท: มกราคม 2026


    ผมเพิ่งใช้เวลาหลายชั่วโมงหา Panel ฟรีสำหรับ VPS

    ลองมาหลายตัว ติดตั้งจริง ทดสอบจริง

    สุดท้ายเลือก Coolify

    บทความนี้จะแชร์ทุกอย่างที่เรียนรู้มาครับ

    เรียกได้ว่า รีวิว Coolify แบบเบาๆกันเลย


    ทำไมต้องหา Panel ใหม่?

    ผมถนัด WordPress มาตลอด

    แต่ช่วงนี้ Next.js + AI กำลังมาแรงมาก

    อยากใช้ Claude Code ช่วยพัฒนาเว็บบ้าง

    ปัญหาคือ: Panel ส่วนใหญ่ออกแบบมาสำหรับ PHP

    พอจะลง Next.js ต้อง config เองเยอะ


    สิ่งที่ผมต้องการ

    ✅ Panel ฟรี (ไม่อยากจ่ายค่า license)

    ✅ รองรับ WordPress แบบง่าย

    ✅ รองรับ Next.js แบบ auto deploy

    ✅ มี one-click apps ให้ลงเล่น


    เปรียบเทียบ Panel ทั้งหมด

    ผมลองมา 4 ตัว นี่คือสรุป:

    PanelราคาWordPressNext.jsความง่ายOverall
    Coolifyฟรี⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐9/10 ✅
    CloudPanelฟรี⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐7/10
    aaPanelฟรี⭐⭐⭐⭐⭐⭐⭐⭐⭐5/10
    CloudStick$150/ปี2/10

    รีวิวแต่ละตัวแบบสั้นๆ

    CloudPanel

    ใช้ WordPress? ดีมาก ลงได้ใน 3 คลิก

    ใช้ Next.js? ต้อง config เอง ไม่มี auto deploy

    เหมาะกับ: คนใช้ PHP/WordPress เป็นหลัก


    aaPanel

    ข้อดี: ฟรี ฟีเจอร์เยอะ

    ข้อเสีย: ของจีน หลายคนกังวล privacy

    เหมาะกับ: คนไม่กังวลเรื่อง privacy


    CloudStick

    สรุปสั้นๆ: หลีกเลี่ยง

    เจอรีวิวว่ามีปัญหาเยอะ บางคนบอก scam


    Coolify (ตัวที่เลือก)

    ทำไมถึงเลือก:

    • ฟรี 100%
    • Next.js auto deploy เหมือน Vercel
    • WordPress ลงผ่าน Docker ได้
    • One-click apps 100+ ตัว
    • รองรับ Headless CMS

    ข้อเสีย: ต้องเรียนรู้ Docker นิดหน่อย


    หน้า Dashboard ของ Coolify แสดงสถานะ deployment

    ขั้นตอนติดตั้ง Coolify

    ผมใช้ Contabo VPS ราคาถูกและเสถียร

    Step 1: Reinstall VPS

    1. เข้า Contabo Control Panel
    2. กด Reinstall
    3. เลือก Ubuntu 24.04 LTS
    4. ตั้ง root password
    5. รอ 5-15 นาที

    Step 2: SSH เข้า VPS

    ssh root@YOUR_IP_ADDRESS
    

    เจอ error? ลองนี่:

    ssh-keygen -R YOUR_IP_ADDRESS
    ssh root@YOUR_IP_ADDRESS
    

    Step 3: ติดตั้ง Coolify

    แค่ command เดียว:

    curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
    

    รอ 5-10 นาที

    เสร็จแล้วเข้า http://YOUR_IP:8000


    Step 4: Setup

    1. สร้าง admin account
    2. เลือก “This Machine”
    3. เสร็จ!

    ง่ายมากจริงๆ 🎉


    WordPress ทำงานบน Docker container ใน Coolify

    Deploy WordPress บน Coolify

    หลายคนกลัวว่า Docker จะยุ่งยาก

    ความจริง: ไม่ยากเลย

    1. กด “Deploy Your First Resource”
    2. Search “wordpress”
    3. เลือก “WordPress With MariaDB”
    4. ตั้ง domain
    5. กด Deploy
    6. รอ 2-3 นาที

    แค่นี้ WordPress ก็พร้อมใช้!


    สิ่งที่ทำได้ปกติ

    ✅ ลง plugin/theme ผ่าน admin

    ✅ เขียน post/page

    ✅ Update WordPress

    ไม่ต่างจากใช้ shared hosting เลย


    สิ่งที่ต้องทำเพิ่ม (ถ้าต้องการ)

    ต้องการวิธีทำ
    phpMyAdminลง service เพิ่มใน Coolify
    WP-CLIdocker exec เข้า container
    Backupใช้ plugin หรือ scheduled task

    ตั้งค่า Domain + Cloudflare

    Flow:

    ผู้ขาย Domain → Cloudflare → VPS
    

    ขั้นตอน:

    1. Add domain เข้า Cloudflare

    เลือก Free plan

    2. เปลี่ยน Nameserver

    ns1.cloudflare.com
    ns2.cloudflare.com
    

    3. ตั้ง DNS Record

    TypeNameContentProxy
    A@YOUR_IPDNS only (เมฆสีเทา)
    AwwwYOUR_IPDNS only (เมฆสีเทา)

    4. SSL/TLS → Full (strict)


    ⚠️ ปัญหาที่เจอ: Too many redirects

    สาเหตุ: Cloudflare SSL ชนกับ Coolify SSL

    วิธีแก้:

    • ปิด Cloudflare Proxy (เมฆสีเทา)
    • หรือ ตั้ง SSL เป็น Full (strict)

    ผมเลือกวิธีที่สองครับ


    ทำไม Coolify ดีสำหรับ Next.js

    นี่คือเหตุผลหลักที่เลือก Coolify

    Featureรายละเอียด
    Git Connectเชื่อม GitHub/GitLab ได้
    Auto DeployPush code แล้ว deploy อัตโนมัติ
    Previewมี preview deployments
    Rollbackย้อน version ได้

    เหมือนได้ Vercel ฟรีบน VPS ตัวเอง!


    แผนอนาคต: Headless CMS

    ถ้าวันหน้าอยากทำ:

    1. ลง Strapi หรือ Payload CMS
    2. เขียนบทความใน CMS
    3. Next.js ดึงผ่าน API
    4. ไม่ต้อง push code ทุกครั้ง

    Coolify รองรับหมดเลย 💪


    คำสั่งที่ใช้บ่อย

    SSH เข้า VPS:

    ssh root@YOUR_IP
    

    ติดตั้ง Coolify ใหม่:

    curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
    

    สรุป: Coolify เหมาะกับใคร?

    เหมาะกับ:

    ✅ อยากได้ Panel ฟรี

    ✅ ใช้ WordPress + อยากลอง Next.js

    ✅ ชอบ auto deploy

    ✅ ชอบ self-hosted


    ไม่เหมาะกับ:

    ❌ ใช้แค่ WordPress อย่างเดียว (CloudPanel ง่ายกว่า)

    ❌ ไม่อยากเรียนรู้อะไรใหม่เลย


    รีวิว Coolify Rating สุดท้าย

    หมวดคะแนน
    ความง่ายในการติดตั้ง⭐⭐⭐⭐⭐
    รองรับ WordPress⭐⭐⭐⭐
    รองรับ Next.js⭐⭐⭐⭐⭐
    Documentation⭐⭐⭐⭐
    Community⭐⭐⭐⭐
    Overall9/10

    หวังว่าบทความนี้จะเป็นประโยชน์ครับ



    🔄 อัพเดท: ปัญหาที่เจอหลังใช้งานจริง

    อัพเดท: 15 มกราคม 2026

    หลังจากใช้งานไปได้วันเดียว ก็เจอปัญหาแล้วครับ 😅

    แต่ก็ถือเป็นบทเรียนดี เลยมาอัพเดทให้อ่านกัน


    ปัญหาที่ 1: เว็บล่ม ขึ้น “no available server”

    อาการ

    • เข้าเว็บไม่ได้เลย
    • Coolify แสดง Running (unhealthy) 🔴
    • มี warning เรื่อง Traefik

    สาเหตุ

    Plugin Rank Math SEO Pro พัง!

    หา class ไม่เจอ ทำให้ PHP fatal error

    วิธีตรวจสอบ

    ไปที่ Coolify → tab Logs → เลือก WordPress

    จะเห็น error แบบนี้:

    PHP Fatal error: Class "MyThemeShop\Helpers\Conditional" not found
    

    วิธีแก้

    เข้า wp-admin ไม่ได้ ต้องลบ plugin ผ่าน CLI

    # SSH เข้า VPS
    ssh root@YOUR_IP
    
    # เข้า WordPress container
    docker exec -it $(docker ps -qf "name=wordpress") bash
    
    # ลบ plugin ที่มีปัญหา
    cd /var/www/html/wp-content/plugins
    rm -rf seo-by-rank-math-pro
    rm -rf seo-by-rank-math
    exit
    

    แล้วลง Rank Math ใหม่จาก WordPress admin

    เว็บกลับมาปกติ! ✅


    ปัญหาที่ 2: Upload plugin ไม่ได้

    อาการ

    อัพโหลด plugin แล้วขึ้น error:

    The uploaded file exceeds the upload_max_filesize directive in php.ini.
    

    สาเหตุ

    PHP default limit แค่ 2MB

    Plugin ไฟล์ใหญ่กว่านี้อัพไม่ได้

    วิธีแก้

    # SSH เข้า VPS
    ssh root@YOUR_IP
    
    # เข้า WordPress container
    docker exec -it $(docker ps -qf "name=wordpress") bash
    
    # เพิ่ม config
    echo "upload_max_filesize = 256M" >> /usr/local/etc/php/conf.d/uploads.ini
    echo "post_max_size = 256M" >> /usr/local/etc/php/conf.d/uploads.ini
    echo "max_execution_time = 300" >> /usr/local/etc/php/conf.d/uploads.ini
    exit
    

    แล้วไป Coolify กด Restart container

    อัพโหลดได้แล้ว! ✅


    คำสั่ง Docker ที่ใช้บ่อย

    เก็บไว้ใช้ตอนมีปัญหา:

    ทำอะไรคำสั่ง
    เข้า WordPress containerdocker exec -it $(docker ps -qf "name=wordpress") bash
    ดู logsdocker logs $(docker ps -qf "name=wordpress")
    Restart containerdocker restart $(docker ps -qf "name=wordpress")

    💡 บทเรียนที่ได้

    1. ดู Logs ก่อนเสมอ

    Coolify มี tab Logs ให้ดู error ได้ง่ายมาก

    2. Plugin พัง = เว็บล่มได้

    เข้า wp-admin ไม่ได้ ต้องลบผ่าน CLI

    3. Docker มี limit เริ่มต้น

    ต้อง config เพิ่มเอง ไม่เหมือน shared hosting


    สรุปหลังใช้งานจริง

    แม้จะเจอปัญหา แต่ก็แก้ได้ไม่ยาก

    ข้อดีของ Coolify:

    ✅ มี Logs ให้ดู debug ง่าย

    ✅ Restart container ได้ใน 1 คลิก

    ✅ เรียนรู้ Docker ไปในตัว

    สิ่งที่ต้องระวัง:

    ⚠️ Plugin ที่ไม่เสถียรอาจทำเว็บล่ม

    ⚠️ ต้องรู้ basic CLI/Docker commands


    ยังแนะนำ Coolify อยู่นะครับ

    แค่ต้องเตรียมใจเรียนรู้ Docker นิดหน่อย 💪