跳到主要内容
返回文章列表

Immich: ทำคลังรูปครอบครัวไว้บนเซิร์ฟเวอร์ตัวเองอย่างไรไม่ให้ข้อมูลหาย

เริ่มใช้ Immich ด้วย Docker Compose วางที่เก็บรูปและฐานข้อมูลให้ถูกที่ แล้วซ้อมกู้คืนก่อนย้ายคลังภาพจริง

Immich: ทำคลังรูปครอบครัวไว้บนเซิร์ฟเวอร์ตัวเองอย่างไรไม่ให้ข้อมูลหาย

Immich เป็นแอปโอเพนซอร์สสำหรับเก็บ ค้น และแชร์ภาพถ่ายบนเครื่องที่เราดูแลเอง มีทั้งเว็บและแอปมือถือ จุดที่ควรคิดก่อนเริ่มคือ “ภาพอยู่ที่ไหน” และ “ถ้าเครื่องพังจะกู้ได้อย่างไร” เพราะการเปิดบริการสำเร็จไม่ได้แปลว่าข้อมูลปลอดภัยแล้ว คู่มือนี้เน้นการติดตั้งแบบ Docker Compose ซึ่งเอกสารโครงการใช้เป็นแนวทางหลักสำหรับใช้งานจริง

เตรียมเครื่องและพื้นที่เก็บ

ตรวจว่าระบบรองรับ Docker Engine และ Compose plugin ตาม ข้อกำหนดของ Immich ให้พื้นที่ดิสก์พอสำหรับไฟล์ต้นฉบับ ภาพย่อ วิดีโอที่แปลงแล้ว และข้อมูลฐานข้อมูล อย่าวางทุกอย่างบนดิสก์ระบบที่มีพื้นที่เหลือน้อย แยกโฟลเดอร์ข้อมูลออกจากโฟลเดอร์ไฟล์ Compose เพื่อให้การอัปเดตแอปไม่กระทบรูป

ไฟล์ตั้งค่าหลักสองชิ้นคือ docker-compose.yml กับ .env ให้ดาวน์โหลดจากหน้า ติดตั้งด้วย Compose ของเวอร์ชันที่ต้องการใช้ และอ่านค่าก่อนเริ่ม โดยเฉพาะ UPLOAD_LOCATION สำหรับไฟล์สื่อ, DB_DATA_LOCATION สำหรับ PostgreSQL, รหัสผ่านฐานข้อมูล และเวอร์ชัน image การนำไฟล์จากบทความเก่ามาใช้ตรง ๆ อาจไม่ตรงกับรุ่นปัจจุบัน

เริ่มระบบแบบตรวจทีละจุด

  1. สร้างไดเรกทอรีเก็บสื่อและฐานข้อมูลบนดิสก์ถาวร แล้วกำหนดสิทธิ์ให้คอนเทนเนอร์เขียนได้
  2. ปรับ .env ให้ UPLOAD_LOCATION และ DB_DATA_LOCATION ชี้ไปยังตำแหน่งที่ตั้งใจสำรองข้อมูลจริง เลือกรหัสผ่านฐานข้อมูลที่ไม่ใช้ซ้ำ
  3. ตรวจ Compose ด้วย docker compose config แล้วสั่ง docker compose up -d ภายในไดเรกทอรีเดียวกัน
  4. ดู docker compose ps และ docker compose logs --tail=100 ก่อนเปิดเว็บที่พอร์ต 2283 ตามค่าตั้งต้น สร้างบัญชีผู้ดูแลและทดลองอัปโหลดภาพไม่กี่ใบ
  5. ทดลองเปิดภาพต้นฉบับ ดาวน์โหลดกลับ และอัปโหลดจากมือถือ เมื่อผลครบค่อยนำคลังใหญ่เข้าระบบ

หากให้คนภายนอกเข้าถึง ควรวาง reverse proxy พร้อม HTTPS และจำกัดพอร์ตฐานข้อมูลไม่ให้เปิดสู่สาธารณะ ตรวจการเข้าถึงจากทั้ง Wi‑Fi ภายในและเครือข่ายมือถือเพื่อให้แน่ใจว่า URL ที่ตั้งไว้ทำงานจริง

สำรองและกู้คืนให้ครบชุด

Immich ต้องการทั้งไฟล์สื่อใน UPLOAD_LOCATION และฐานข้อมูล PostgreSQL การสำรองแค่ไฟล์รูปอาจทำให้ข้อมูลอัลบั้ม ผู้ใช้ และสถานะการจัดหมวดหาย ส่วนการสำรองเฉพาะฐานข้อมูลก็เปิดภาพต้นฉบับไม่ได้ ตั้งรอบสำรองที่เหมาะกับความถี่อัปโหลด เก็บสำเนาแยกเครื่อง และทดสอบกู้คืนในสภาพแวดล้อมทดลอง เอกสาร Backup and Restore อธิบายขั้นตอนและเงื่อนไขของแต่ละรุ่นไว้

ก่อนอัปเดต ให้ตรวจ release notes และขั้นตอน migration สำหรับเวอร์ชันที่กำลังใช้ สำรองข้อมูลทั้งสองส่วนก่อนสั่ง pull และเปลี่ยน image; การเปลี่ยนรุ่นฐานข้อมูลหรือ extension อาจมีขั้นตอนเฉพาะ อย่าถือว่า docker compose pull อย่างเดียวเพียงพอ ตรวจว่างาน background เช่น สร้างภาพย่อและ index ทำงานต่อหลังอัปเดต

เหมาะกับใคร

เหมาะกับครอบครัวหรือทีมเล็กที่ต้องการควบคุมพื้นที่เก็บภาพและยอมรับภาระดูแลเครื่องเอง ถ้าต้องการความพร้อมใช้โดยไม่ดูแลสำรองข้อมูล ระบบโฮสต์เองอาจเพิ่มงานมากกว่าที่คาด จุดเริ่มที่ปลอดภัยคือทดลองกับภาพชุดเล็ก กู้คืนให้ได้หนึ่งครั้ง แล้วจึงย้ายคลังหลัก

อ่านเพิ่มเติม: ติดตั้ง Immich · สำรองและกู้คืน