6.6 KiB
Airbyte Quick Start Guide
สถาปัตยกรรม
Airbyte ใช้ทรัพยากรร่วมจาก 01-infra:
- ✅ PostgreSQL: ฐานข้อมูลร่วม
- ✅ Nginx Proxy Manager: Reverse proxy สำหรับเข้าถึงจากภายนอก
- ✅ Network:
shared_data_network
หมายเหตุสำคัญ: abctl จะสร้าง airbyte-proxy (nginx ภายใน) สำหรับ routing ระหว่าง microservices ของ Airbyte เท่านั้น การเข้าถึงจากภายนอกใช้ Nginx Proxy Manager ที่มีอยู่แล้วใน 01-infra ไม่ต้องติดตั้ง nginx เพิ่มในโฟลเดอร์นี้
วิธีติดตั้ง Airbyte OSS ด้วย abctl
ขั้นตอนที่ 1: เตรียม Infrastructure
ตรวจสอบว่า PostgreSQL กำลังทำงาน:
cd ../01-infra
docker compose --env-file ../.env.global up -d
รอจนกว่า PostgreSQL จะพร้อม (ประมาณ 10-30 วินาที)
ขั้นตอนที่ 2: ติดตั้ง Airbyte
cd ../04-ingestion
# สำหรับ Linux/macOS
bash setup-airbyte.sh
# สำหรับ Windows (ใน Git Bash หรือ WSL)
bash setup-airbyte.sh
การติดตั้งจะใช้เวลา 10-30 นาที ขึ้นอยู่กับความเร็วอินเทอร์เน็ต
ขั้นตอนที่ 3: เข้าใช้งาน
สำหรับ Production (ผ่าน Domain):
https://ai.sriphat.com/airbyte
หมายเหตุ: ต้องตั้งค่า Nginx Proxy Manager ก่อน (ดู NGINX-SETUP.md)
สำหรับ Development/Local:
http://localhost:8030
หรือ
http://[IP-ของเซิร์ฟเวอร์]:8030
กรอกข้อมูล:
- Email: อีเมลของคุณ
- Organization name: ชื่อองค์กร (เช่น Sriphat Hospital)
การจัดการ Airbyte
เริ่มต้น Airbyte:
bash start-airbyte.sh
หยุด Airbyte:
bash stop-airbyte.sh
ถอนการติดตั้ง:
bash uninstall-airbyte.sh
การตั้งค่าเพิ่มเติม
การตั้งค่าที่สำคัญ
แก้ไขไฟล์ .airbyte.env:
Low Resource Mode (เปิดใช้งานอยู่แล้ว):
LOW_RESOURCE_MODE=true # เหมาะสำหรับเครื่องที่มี CPU < 4 cores
หมายเหตุ: โหมดนี้จะปิดการใช้งาน Connector Builder
เปลี่ยนพอร์ต:
AIRBYTE_PORT=8030 # เปลี่ยนเป็นพอร์ตที่ต้องการ
ตั้งค่า Domain:
AIRBYTE_HOST=ai.sriphat.com # Domain สำหรับเข้าถึงจากภายนอก
เปิดใช้งาน Backup:
ENABLE_BACKUP=true # สร้าง backup script อัตโนมัติ
BACKUP_SCHEDULE="0 2 * * *" # ทุกวันเวลา 02:00 น.
Authentication (ผ่าน Nginx Proxy Manager)
Airbyte ไม่รองรับ Keycloak โดยตรง ใช้ Nginx Proxy Manager แทน:
- OAuth2 Proxy + Keycloak (แนะนำ) - ดู NGINX-SETUP.md
- Basic Authentication - ตั้งค่าใน Nginx Access List
- IP Whitelist - จำกัดการเข้าถึงตาม IP
การแก้ปัญหา
ติดตั้งไม่สำเร็จ
- ตรวจสอบว่า Docker กำลังทำงาน
- ตรวจสอบว่า PostgreSQL กำลังทำงาน:
docker ps | grep postgres - ตรวจสอบ logs:
abctl local logs
เข้า UI ไม่ได้
- ตรวจสอบสถานะ:
abctl local status - ตรวจสอบ containers:
docker ps | grep airbyte - รีสตาร์ท:
bash stop-airbyte.sh && bash start-airbyte.sh
ติดตั้ง abctl บน Windows
ดาวน์โหลดจาก: https://github.com/airbytehq/abctl/releases
ฐานข้อมูล
Airbyte ใช้ PostgreSQL ร่วมกับ infrastructure:
- Database:
airbyte,temporal,temporal_visibility - Host:
postgres(container name) - Port: 5432
- User/Password: ตามที่กำหนดใน
.env.global
ข้อมูลจะถูกสำรองอัตโนมัติพร้อมกับ PostgreSQL backup
Backup และ Restore
สำรองข้อมูล
Manual Backup:
./backup-airbyte.sh
ตั้งค่า Auto Backup (crontab):
crontab -e
# เพิ่มบรรทัดนี้สำหรับ backup ทุกวันเวลา 02:00 น.
0 2 * * * cd /path/to/04-ingestion && ./backup-airbyte.sh
ตำแหน่งไฟล์ Backup:
- โฟลเดอร์:
./backups/ - รูปแบบ:
airbyte_backup_YYYYMMDD_HHMMSS.tar.gz - เก็บไว้: 7 วันล่าสุด (ลบอัตโนมัติ)
Restore ข้อมูล
# แตกไฟล์ backup
tar -xzf backups/airbyte_backup_20260227_020000.tar.gz
# Restore databases
docker exec -i postgres psql -U postgres airbyte < airbyte_20260227_020000.sql
docker exec -i postgres psql -U postgres temporal < temporal_20260227_020000.sql
docker exec -i postgres psql -U postgres temporal_visibility < temporal_visibility_20260227_020000.sql
ข้อมูลเพิ่มเติม
การตั้งค่า Nginx Proxy Manager
ดูคู่มือโดยละเอียดที่: NGINX-SETUP.md
ทรัพยากรเพิ่มเติม
สถานะการติดตั้ง
- ✅ Low Resource Mode: เปิดใช้งาน
- ✅ Latest Stable Version: ใช้เวอร์ชันล่าสุด
- ✅ Domain Access: ai.sriphat.com/airbyte
- ✅ Backup: เปิดใช้งานอัตโนมัติ
- ✅ Authentication: ผ่าน Nginx Proxy Manager