188 lines
6.6 KiB
Markdown
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
|