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

188 lines
6.6 KiB
Markdown

# 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