Files
sriphat-dataplatform/04-ingestion/QUICKSTART.md
2026-03-02 21:58:51 +07:00

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 แทน:

  1. OAuth2 Proxy + Keycloak (แนะนำ) - ดู NGINX-SETUP.md
  2. Basic Authentication - ตั้งค่าใน Nginx Access List
  3. IP Whitelist - จำกัดการเข้าถึงตาม IP

การแก้ปัญหา

ติดตั้งไม่สำเร็จ

  1. ตรวจสอบว่า Docker กำลังทำงาน
  2. ตรวจสอบว่า PostgreSQL กำลังทำงาน: docker ps | grep postgres
  3. ตรวจสอบ logs: abctl local logs

เข้า UI ไม่ได้

  1. ตรวจสอบสถานะ: abctl local status
  2. ตรวจสอบ containers: docker ps | grep airbyte
  3. รีสตาร์ท: 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