# 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 กำลังทำงาน: ```bash cd ../01-infra docker compose --env-file ../.env.global up -d ``` รอจนกว่า PostgreSQL จะพร้อม (ประมาณ 10-30 วินาที) ### ขั้นตอนที่ 2: ติดตั้ง Airbyte ```bash 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 bash start-airbyte.sh ``` **หยุด Airbyte:** ```bash bash stop-airbyte.sh ``` **ถอนการติดตั้ง:** ```bash bash uninstall-airbyte.sh ``` ## การตั้งค่าเพิ่มเติม ### การตั้งค่าที่สำคัญ แก้ไขไฟล์ `.airbyte.env`: **Low Resource Mode (เปิดใช้งานอยู่แล้ว):** ```bash LOW_RESOURCE_MODE=true # เหมาะสำหรับเครื่องที่มี CPU < 4 cores ``` *หมายเหตุ: โหมดนี้จะปิดการใช้งาน Connector Builder* **เปลี่ยนพอร์ต:** ```bash AIRBYTE_PORT=8030 # เปลี่ยนเป็นพอร์ตที่ต้องการ ``` **ตั้งค่า Domain:** ```bash AIRBYTE_HOST=ai.sriphat.com # Domain สำหรับเข้าถึงจากภายนอก ``` **เปิดใช้งาน Backup:** ```bash 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:** ```bash ./backup-airbyte.sh ``` **ตั้งค่า Auto Backup (crontab):** ```bash 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 ข้อมูล ```bash # แตกไฟล์ 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` ### ทรัพยากรเพิ่มเติม - [Airbyte Documentation](https://docs.airbyte.com/) - [Connector Catalog](https://docs.airbyte.com/integrations/) - [Community Support](https://airbyte.com/community) ### สถานะการติดตั้ง - ✅ Low Resource Mode: เปิดใช้งาน - ✅ Latest Stable Version: ใช้เวอร์ชันล่าสุด - ✅ Domain Access: ai.sriphat.com/airbyte - ✅ Backup: เปิดใช้งานอัตโนมัติ - ✅ Authentication: ผ่าน Nginx Proxy Manager