เริ่มต้นอย่างรวดเร็ว
เรียกใช้ rtCloud บนเซิร์ฟเวอร์ของคุณเองภายใน 10 นาทีโดยใช้ Docker Compose
คู่มือนี้แนะนำคุณผ่านการติดตั้งอินสแตนซ์ rtCloud แบบโฮสต์ด้วยตนเองบนเซิร์ฟเวอร์ Linux ตั้งแต่ต้น เมื่อสิ้นสุด คุณจะมี rtCloud ที่ทำงานอยู่และสามารถเข้าถึงได้ในเบราว์เซอร์
ข้อกำหนดเบื้องต้น
ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ของคุณตรงตามข้อกำหนดต่อไปนี้ก่อนเริ่มต้น:
ฮาร์ดแวร์
| ทรัพยากร | ขั้นต่ำ | แนะนำ |
|---|---|---|
| RAM | 2 GB | 4 GB |
| Disk | 10 GB | 40 GB |
| CPU | 1 vCPU | 2 vCPUs |
ซอฟต์แวร์
| ซอฟต์แวร์ | เวอร์ชัน |
|---|---|
| OS | Ubuntu 20.04 LTS หรือใหม่กว่า (หรือ Linux ที่รองรับ Docker) |
| Docker | 20.10 หรือใหม่กว่า |
| Docker Compose | v2.x (docker compose) หรือ v1.x (docker-compose) |
ติดตั้ง Docker บน Ubuntu:
curl -fsSL https://get.docker.com | sh
ตรวจสอบการติดตั้ง:
docker --version
docker compose version
ขั้นตอนที่ 1 — รับไฟล์
โคลนที่เก็บการติดตั้งใช้งานไปยังเซิร์ฟเวอร์ของคุณ:
git clone ssh://git@rtgit.rta.vn:2224/rtlab/rtwebteam/rta-smart-survey-docker.git rtcloud
cd rtcloud
ขั้นตอนที่ 2 — กำหนดค่าสภาพแวดล้อม
คัดลอกไฟล์กำหนดค่าตัวอย่าง:
cp .env.production.sample .env
เปิด .env ในโปรแกรมแก้ไขข้อความและกรอกค่าที่จำเป็น:
# ตัวระบุเฉพาะสำหรับการติดตั้งนี้ (ไม่มีช่องว่าง ไม่มีอักขระพิเศษ)
PROJECT_ID=myproject
# โดเมนหรือที่อยู่ IP ที่ผู้ใช้จะเข้าถึงแอป
# ตัวอย่าง: rtcloud.example.com หรือ 192.168.1.100
PROJECT_URL=rtcloud.example.com
# โปรโตคอล: ใช้ "https" ถ้ามีโดเมนพร้อม SSL "http" หากไม่มี
HTTP_PROTOCOL=https
# รหัสผ่านที่แข็งแกร่งและเฉพาะ — เปลี่ยนทั้งสามก่อนเริ่มต้น
MYSQL_PASSWORD=change_me_strong_password
MYSQL_ROOT_PASSWORD=change_me_root_password
ADMIN_PASSWORD=change_me_admin_password
สำคัญ: มีเพียง
.envเท่านั้นที่ Docker Compose อ่านโดยอัตโนมัติ อย่าสร้างไฟล์ชื่อ.env.productionเพราะจะทำให้สับสนADMIN_PASSWORDจะถูกใช้เฉพาะใน การบูตครั้งแรก ของฐานข้อมูลใหม่เท่านั้น
ขั้นตอนที่ 3 — เริ่มต้นคอนเทนเนอร์
เปิดใช้งานบริการทั้งหมดในพื้นหลัง:
docker compose -f docker-compose.production.yml up -d
การเริ่มต้นครั้งแรกใช้เวลา 3–5 นาที ขณะที่ Docker:
- ดึง image แอปพลิเคชัน rtCloud (~1 GB ดาวน์โหลด)
- เริ่มต้นฐานข้อมูล MySQL
- โหลดสคีมาฐาน
- รันการย้ายข้อมูลฐานข้อมูลทั้งหมดที่รอดำเนินการ
ตรวจสอบความคืบหน้าการเริ่มต้นแบบเรียลไทม์:
docker compose -f docker-compose.production.yml logs -f rtcloud
รอจนกว่าคุณจะเห็นผลลัพธ์ที่ระบุว่าแอปพลิเคชันพร้อมแล้ว คุณยังสามารถดูสถานะความสมบูรณ์ของคอนเทนเนอร์ได้:
watch docker compose -f docker-compose.production.yml ps
ขั้นตอนที่ 4 — เข้าถึงแอปพลิเคชัน
เมื่อทั้งสองคอนเทนเนอร์แสดง Up (healthy) ให้เปิดเบราว์เซอร์:
http://<PROJECT_URL>:8080
เข้าสู่ระบบโดยใช้บัญชีผู้ดูแลระบบ:
| ฟิลด์ | ค่า |
|---|---|
| Username | admin |
| Password | ค่าที่คุณตั้งสำหรับ ADMIN_PASSWORD ใน .env |
เปลี่ยนรหัสผ่านผู้ดูแลระบบทันทีหลังจากเข้าสู่ระบบครั้งแรกจากหน้าการตั้งค่าบัญชี
ขั้นตอนที่ 5 — ตรวจสอบบริการทั้งหมด
ตรวจสอบว่าคอนเทนเนอร์ทั้งหมดกำลังทำงานและมีสุขภาพดี:
docker compose -f docker-compose.production.yml ps
ผลลัพธ์ที่คาดหวัง:
NAME IMAGE STATUS
rtcloud-app rtawebteam/rta-smartsurvey:... Up (healthy)
rtcloud-mysql mysql:8.0 Up (healthy)
หากคอนเทนเนอร์แสดง Up (starting) หรือ Up (unhealthy) ให้รออีก 30–60 วินาทีแล้วตรวจสอบอีกครั้ง MySQL อาจใช้เวลาถึงหนึ่งนาทีในการเริ่มต้นอย่างสมบูรณ์เมื่อบูตครั้งแรก
การอ้างอิงพอร์ต
| พอร์ต | บริการ | คำอธิบาย |
|---|---|---|
8080 | rtCloud App | UI เว็บหลัก (กำหนดค่าได้ผ่าน APP_PORT) |
3838 | Shiny Server | การวิเคราะห์และการแสดงผลที่ใช้ R (กำหนดค่าได้ผ่าน SHINY_PORT) |
MySQL (พอร์ต 3306) และบริการเสริมใดๆ (Keycloak) เป็นแบบภายในเท่านั้นและไม่ถูกเปิดเผยต่อโฮสต์ตามค่าเริ่มต้น
ขั้นตอนถัดไป
อินสแตนซ์ rtCloud ของคุณกำลังทำงานอยู่แล้ว พิจารณางานติดตามเหล่านี้:
- เปิดใช้งาน HTTPS — ชี้โดเมนไปยังเซิร์ฟเวอร์ของคุณและกำหนดค่า SSL ด้วย Let’s Encrypt ดู การติดตั้งบนคลาวด์ สำหรับการตั้งค่า HTTPS อัตโนมัติ
- ตรวจสอบการตั้งค่าทั้งหมด — เรียกดู การอ้างอิงการกำหนดค่า เพื่อปรับแต่งการติดตั้งใช้งานสำหรับการผลิต
- ตั้งค่า SSO — เชื่อมต่อผู้ให้บริการตัวตนสำหรับการยืนยันตัวตนผู้ใช้แบบรวมศูนย์ ดู การยืนยันตัวตน SSO
- วางแผนการสำรองข้อมูล — ตรวจสอบหน้า การบำรุงรักษา สำหรับขั้นตอนการสำรองและอัปเกรด