สิ่งที่ต้องเตรียม (Prerequisites)
Docker & Docker Compose
ติดตั้ง Docker และ Docker Compose บนเครื่อง Server
Domain (ถ้าต้องการ)
โดเมนของคุณ เช่น n8n.yourdomain.com สำหรับเข้าใช้งาน
สร้างไฟล์ docker-compose.yml
สร้างโฟลเดอร์สำหรับโปรเจกต์ และสร้างไฟล์ docker-compose.yml เพื่อกำหนดการทำงานของ containers
วางโค้ดนี้ในไฟล์ docker-compose.yml:
your_secure_password เป็นรหัสผ่านที่แข็งแรง และ WEBHOOK_URL เป็นโดเมนจริงของคุณ
อธิบายการตั้งค่าแต่ละส่วน
มาดูว่าแต่ละส่วนของ docker-compose.yml ทำงานอย่างไร
n8n Service
เปิด Port 5678 เข้าถึงจากภายนอก
เชื่อมต่อฐานข้อมูล PostgreSQL
เก็บข้อมูล workflows ถาวร
URL สำหรับรับ Webhooks จากภายนอก
PostgreSQL
ใช้ PostgreSQL เวอร์ชัน 15
รหัสผ่านสำหรับฐานข้อมูล
เก็บข้อมูล Database ถาวร
เชื่อมกับ n8n ใน network เดียวกัน
โครงสร้าง Docker Compose
รัน Containers ด้วย Docker Compose
เมื่อตั้งค่าเสร็จแล้ว ให้รันคำสั่ง Docker Compose เพื่อเริ่ม containers
เริ่มรัน containers
* -d หมายถึง detached mode (ทำงานเบื้องหลัง)
ตรวจสอบสถานะ containers
ตรวจดูว่า containers ทำงานอยู่และ healthy หรือไม่
ดู logs (ถ้ามีปัญหา)
-f ติดตาม logs แบบ real-time
เข้าใช้งาน n8n
เมื่อ containers ทำงานเรียบร้อยแล้ว เข้าใช้งาน n8n ผ่าน Browser
เข้าถึง n8n
http://YOUR_SERVER_IP:5678
http://your-domain.com:5678
Create your first automation
การตั้งค่าเพิ่มเติม
ใช้ SSL/HTTPS
ใช้ Nginx หรือ Traefik เป็น reverse proxy เพื่อเปิด SSL และใช้ port 443
Authentication
เพิ่ม Basic Auth หรือใช้ N8N_BASIC_AUTH หากต้องการรักษาความปลอดภัย
Auto Backup
สร้าง cron job หรือใช้ backup plugin เพื่อสำรองข้อมูล PostgreSQL ทุกวัน
Scale Up
ใช้ Docker Swarm หรือ Kubernetes เพื่อ scale หากมีการใช้งานขนาดใหญ่
แก้ปัญหาที่พบบ่อย (Troubleshooting)
Container ไม่ขึ้น
ตรวจสอบ logs ด้วย docker-compose logs n8n และดูว่ารหัสผ่านถูกต้องหรือไม่
ไม่สามารถเข้าผ่าน Browser ได้
ตรวจสอบ Firewall ว่าเปิด port 5678 หรือไม่ และตรวจสอบว่า containers ทำงานอยู่ด้วย docker-compose ps
Webhook ไม่ทำงาน
ตรวจสอบ WEBHOOK_URL ว่าตรงกับโดเมนจริงของคุณ และมี / ต่อท้ายหรือไม่