Language: th
Immich: สร้างคลาวด์ส่วนตัวสำหรับรูปภาพและวิดีโอบน VPS
Immich เป็นบริการ self-hosted สำหรับเก็บรูปภาพและวิดีโอพร้อมอัปโหลดอัตโนมัติ มีแอปบนมือถือ อินเทอร์เฟซเว็บ อัลบั้ม การค้นหาอัจฉริยะ และการจดจำใบหน้า โดยให้คุณเลือกเซิร์ฟเวอร์ที่ใช้เก็บคลังข้อมูลเอง
บทความนี้อธิบายข้อกำหนดของ Immich การติดตั้งบน Ubuntu ด้วย Docker Compose การตั้งค่า HTTPS การเชื่อมต่อโทรศัพท์ และการสำรองข้อมูลไปยังพื้นที่ภายนอก
Immich ในหกขั้นตอน
- สร้าง Linux VPS ที่มี RAM และพื้นที่ดิสก์เพียงพอ
- ชี้ซับโดเมน เช่น
photos.example.comไปยัง IP ของเซิร์ฟเวอร์ - ติดตั้ง Docker และดาวน์โหลดการตั้งค่า Immich อย่างเป็นทางการ
- ระบุเส้นทางคลังสื่อและฐานข้อมูล จากนั้นเริ่มคอนเทนเนอร์
- ปิดพอร์ตภายในและเปิดใช้ HTTPS
- ติดตั้งแอปมือถือและตั้งค่าการสำรองข้อมูลภายนอก
Immich คืออะไร
Immich เป็นแอปพลิเคชันโอเพนซอร์สสำหรับจัดการคลังรูปภาพและวิดีโอของคุณเอง รูปภาพจะแสดงตามไทม์ไลน์ จัดกลุ่มเป็นอัลบั้ม ค้นหาผ่านระบบค้นหา และอัปโหลดจากโทรศัพท์ไปยังเซิร์ฟเวอร์ได้โดยอัตโนมัติ
ความแตกต่างหลักจากบริการคลาวด์รูปภาพทั่วไปคือคุณควบคุมฝั่งเซิร์ฟเวอร์ ไฟล์จะอยู่บน VPS หรือโฮมเซิร์ฟเวอร์ของคุณ แต่เจ้าของต้องรับผิดชอบพื้นที่ว่าง การอัปเดต ความปลอดภัย และการสำรองข้อมูล
| Parameter | Cloud photo service | Immich |
|---|---|---|
| ตำแหน่งไฟล์ | บนโครงสร้างพื้นฐานของผู้ให้บริการ | บนเซิร์ฟเวอร์ของคุณ |
| การดูแล | ผู้ให้บริการจัดการ | เจ้าของจัดการ |
| ค่าใช้จ่าย | แพ็กเกจตามพื้นที่จัดเก็บ | VPS พื้นที่ดิสก์ และแบ็กอัป |
Immich ไม่ใช่แบ็กอัปในตัว หากรูปภาพมีอยู่บน VPS เพียงเครื่องเดียว ดิสก์เสียหรือการลบโดยไม่ตั้งใจยังทำให้คลังหายได้
ฟีเจอร์หลักของ Immich
- อัปโหลดอัตโนมัติ: แอป Android และ iOS อัปโหลดรูปภาพและวิดีโอจากอัลบั้มที่เลือก ใช้ Wi-Fi เป็นค่าเริ่มต้น และข้ามไฟล์ที่มีอยู่แล้วโดยตรวจสอบ checksum
- การค้นหาอัจฉริยะ: ค้นหาตามบุคคล สถานที่ วันที่ กล้อง ข้อความในภาพ และคำอธิบายเนื้อหาได้ ระบบจะจัดกลุ่มใบหน้าและให้คุณกำหนดชื่อภายหลัง
- อัลบั้มและการแชร์: รองรับผู้ใช้หลายคน อัลบั้มร่วม การแชร์กับคู่หู และลิงก์สาธารณะที่มีรหัสผ่านกับวันหมดอายุ
- แผนที่และ metadata: อ่านข้อมูล EXIF แสดงสถานที่ถ่ายภาพ สร้าง memories และรองรับรายการโปรด คลังเก็บถาวร และ external libraries
Machine learning ใช้ CPU และ RAM มากที่สุดในช่วงนำเข้าครั้งแรก หลังสร้าง thumbnails และ indexes แล้ว การใช้ทรัพยากรในชีวิตประจำวันมักลดลง
ข้อกำหนดเซิร์ฟเวอร์ของ Immich
ข้อกำหนดอย่างเป็นทางการสำหรับเวอร์ชันปัจจุบันมีดังนี้:
- ระบบ 64-bit ที่เป็น Linux หรือ Unix-like
- CPU อย่างน้อย 2 คอร์ แนะนำ 4 คอร์
- RAM อย่างน้อย 6 GB แนะนำ 8 GB
- Docker Engine พร้อมปลั๊กอิน
docker compose - SSD ภายในเครื่องสำหรับฐานข้อมูล PostgreSQL
- พื้นที่สำหรับไฟล์ต้นฉบับ thumbnails และวิดีโอที่แปลงแล้ว
Immich ทำงานบนเซิร์ฟเวอร์ RAM 4 GB ได้หากปิดฟีเจอร์ machine learning สำหรับการจดจำใบหน้าและการค้นหาอัจฉริยะ ควรเลือก RAM 8 GB ตั้งแต่ต้น
Thumbnails และไฟล์ที่แปลงแล้วเพิ่มขนาดคลังสื่อโดยเฉลี่ย 10–20% คลังขนาด 200 GB ควรจัดสรรอย่างน้อย 240–260 GB ไดเรกทอรีฐานข้อมูล DB_DATA_LOCATION ควรอยู่บน SSD ภายในเครื่อง ไม่ใช่ไดรฟ์เครือข่าย
จุดเริ่มต้นที่ใช้งานได้จริงคือ 4 vCPUs, RAM 8 GB, Ubuntu 24.04 LTS และ SSD ที่มีความจุมากกว่าคลังต้นฉบับ 20–30% ไม่จำเป็นต้องมีการ์ดจอแยก แต่การ์ดจออาจช่วยเร่งการประมวลผลคลังขนาดใหญ่
วิธีติดตั้ง Immich บน VPS
ตัวอย่างนี้ใช้ Ubuntu 24.04 และซับโดเมน photos.example.com
1. ตั้งค่า DNS และเตรียม Ubuntu
สร้างระเบียน DNS A ที่ชี้ไปยัง IPv4 ของ VPS จากนั้นเชื่อมต่อผ่าน SSH:
ssh root@SERVER_IP
apt update && apt upgrade -y
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enableอย่าปิดเซสชัน SSH ปัจจุบันจนกว่าจะตรวจสอบแล้วว่าการเชื่อมต่อใหม่ใช้งานได้
2. ติดตั้ง Docker และ Docker Compose
apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
apt update
apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
docker compose versionใช้คำสั่ง docker compose โดยเฉพาะ เพราะคำสั่งเก่า docker-compose ไม่ได้รับการรองรับจากโปรเจกต์แล้ว
3. ดาวน์โหลดและตั้งค่า Immich
mkdir -p /opt/immich /srv/immich-data
cd /opt/immich
curl -L -o docker-compose.yml \
https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
curl -L -o .env \
https://github.com/immich-app/immich/releases/latest/download/example.envเปิดไฟล์:
nano /opt/immich/.envเปลี่ยนพารามิเตอร์หลัก:
UPLOAD_LOCATION=/srv/immich-data
DB_DATA_LOCATION=/opt/immich/postgres
TZ=Europe/Berlin
DB_PASSWORD=REPLACE_WITH_A_LONG_PASSWORDใส่เขตเวลาของคุณเอง รหัสผ่าน PostgreSQL ควรประกอบด้วยตัวอักษรละตินและตัวเลข คำสั่ง openssl rand -hex 24 จะสร้างค่าสุ่มให้ได้ ปล่อยบรรทัดอื่นไว้ตามที่อยู่ในไฟล์ example.env ปัจจุบัน
4. ปิดพอร์ตภายในและเริ่มคอนเทนเนอร์
ใน docker-compose.yml ให้ค้นหาพอร์ตของบริการ immich-server:
ports:
- '2283:2283'แทนที่ด้วย:
ports:
- '127.0.0.1:2283:2283'ตอนนี้พอร์ตจะเข้าถึงได้เฉพาะจากตัว VPS เอง เริ่มบริการ:
cd /opt/immich
docker compose up -d
docker compose psสำหรับการวินิจฉัย ใช้ docker compose logs --tail=200
5. เปิดใช้ HTTPS ด้วย Caddy
apt install -y caddy
cat > /etc/caddy/Caddyfile <<'EOF'
photos.example.com {
reverse_proxy 127.0.0.1:2283
}
EOF
caddy validate --config /etc/caddy/Caddyfile
systemctl reload caddyCaddy จะขอใบรับรองโดยอัตโนมัติเมื่อ DNS ชี้มายัง VPS และพอร์ต 80 กับ 443 เข้าถึงได้ Immich ต้องทำงานที่ root ของโดเมนหรือซับโดเมน ไม่รองรับที่อยู่แบบ example.com/immich
6. สร้างผู้ดูแลระบบและเชื่อมต่อโทรศัพท์
เปิด https://photos.example.com ผู้ใช้ที่ลงทะเบียนคนแรกจะเป็นผู้ดูแลระบบและสามารถสร้างบัญชีเพิ่มเติมได้
ติดตั้ง Immich จาก App Store หรือ Google Play ที่หน้าลงชื่อเข้าใช้ ให้ป้อนที่อยู่โดยไม่มี /api:
https://photos.example.comเลือกอัลบั้มและเปิดการสำรองข้อมูล การนำเข้าครั้งแรกอาจใช้เวลา เพราะเซิร์ฟเวอร์ต้องสร้าง thumbnails จดจำใบหน้า ทำดัชนีข้อมูลการค้นหา และประมวลผลวิดีโอ
การอัปเดต Immich
ก่อนอัปเดตให้อ่าน release notes โดยเฉพาะเมื่อต้องเปลี่ยน major version:
cd /opt/immich
docker compose pull
docker compose up -d
docker image pruneอัปเดตแอปมือถือก่อน แล้วจึงอัปเดตเซิร์ฟเวอร์ การย้อนฐานข้อมูลไปเป็นเวอร์ชันเก่าอาจไม่รองรับ หากไม่มีคำแนะนำแยกต่างหาก
การสำรองข้อมูล Immich
Immich สร้าง PostgreSQL dumps อัตโนมัติ แต่มีเฉพาะฐานข้อมูลและ metadata ไม่รวมรูปภาพกับวิดีโอ การกู้คืนอย่างสมบูรณ์ต้องบันทึก:
- ไดเรกทอรี
/srv/immich-dataทั้งหมด /opt/immich/.envและdocker-compose.yml- การตั้งค่า Caddy
สำเนาที่อยู่บน VPS เดียวกันไม่ป้องกันดิสก์เสียหรือการลบเซิร์ฟเวอร์ ส่งข้อมูลไปยังเซิร์ฟเวอร์ NAS หรือ object storage แยกต่างหาก และใช้แนวทางสำรองแบบ 3-2-1 ทดสอบการกู้คืนเป็นระยะ อย่าตรวจเพียงว่ามีไฟล์แบ็กอัปอยู่
เลือก VPS แบบใดสำหรับ Immich
หากต้องการใช้งานครบทั้งการจดจำใบหน้าและการค้นหาอัจฉริยะ ควรเลือก VPS อย่างน้อย 4 vCPUs และ RAM 8 GB คำนวณขนาดดิสก์ตามคลังสื่อ และเผื่อพื้นที่สำหรับ thumbnails วิดีโอ และการเติบโตของ archive
Linux VPS จาก tropic.host ที่มี static IP และ SSD เหมาะกับงานนี้ คุณสามารถเริ่มด้วย RAM 8 GB และเพิ่มทรัพยากรเมื่อคลังขยายตัว เก็บฐานข้อมูล PostgreSQL ไว้บนดิสก์ภายในที่เร็ว และเก็บ backup นอก VPS นี้
VPS สะดวกสำหรับการเข้าถึงตลอดเวลาจากทุกเครือข่าย สำหรับคลังขนาดหลายเทราไบต์ โฮมเซิร์ฟเวอร์อาจถูกกว่า แต่คุณต้องจัดหาไฟฟ้า การเข้าถึงจากภายนอก และระบบสำรองเอง
ข้อจำกัดของ Immich
การ self-hosting ไม่รับประกันความเสถียรโดยอัตโนมัติ รหัสผ่านที่อ่อนแอ พอร์ต 2283 ที่เปิดออกอินเทอร์เน็ต คอนเทนเนอร์ล้าสมัย หรือไม่มี backup ภายนอก ล้วนเพิ่มความเสี่ยงต่อการสูญหายของข้อมูล
Immich ก็ไม่ใช่สำเนาของ Google Photos หรือ iCloud แบบตรงตัว ความสามารถด้านการแก้ไขและการซิงโครไนซ์เบื้องหลังแตกต่างกัน และความเร็วในการวิเคราะห์ขึ้นอยู่กับฮาร์ดแวร์ ก่อนย้ายคลังเดียวของคุณ ให้ทดสอบบริการด้วยคลังขนาดเล็ก
สรุป
Immich ช่วยให้คุณสร้างแกลเลอรีรูปภาพของตัวเอง พร้อมการอัปโหลดจากมือถือ อัลบั้ม การจดจำใบหน้า การค้นหา และการแชร์ สำหรับเวอร์ชันปัจจุบัน ควรเตรียม Linux VPS ที่มี 4 คอร์ RAM 8 GB และ SSD ที่เหลือความจุอย่างน้อย 20–30%
หลังติดตั้ง ให้ตั้งค่า HTTPS การอัปเดต และ backup ภายนอกของไดเรกทอรีสื่อควบคู่กับฐานข้อมูล สิ่งที่ปกป้องรูปภาพจากการสูญหายคือ backup ไม่ใช่การ self-hosting เพียงอย่างเดียว
FAQ
Immich ฟรีหรือไม่?
เซิร์ฟเวอร์ Immich เป็น open source และทำงานได้โดยไม่ต้องมี subscription บังคับ แต่คุณยังต้องจ่ายค่า VPS โดเมน พื้นที่ดิสก์ และ backups
Immich ต้องใช้ RAM เท่าไร?
ขั้นต่ำอย่างเป็นทางการคือ RAM 6 GB และแนะนำ 8 GB หากมี RAM 4 GB ต้องปิด machine learning
ติดตั้ง Immich โดยไม่มีโดเมนได้หรือไม่?
ในทางเทคนิคทำได้ แต่หากต้องการเข้าถึงจากโทรศัพท์อย่างถาวร ควรใช้โดเมนและ HTTPS เพื่อปกป้องการยืนยันตัวตนและการโอนไฟล์
Immich ใช้แทนการสำรองรูปภาพได้หรือไม่?
ไม่ได้ ควรคัดลอกคลังสื่อและฐานข้อมูลไปยังอุปกรณ์หรือสถานที่อื่นแยกต่างหาก
ย้ายคลังรูปภาพเดิมเข้า Immich ได้หรือไม่?
ได้ คุณสามารถอัปโหลดไฟล์ผ่านเว็บอินเทอร์เฟซหรือ CLI หรือเชื่อมไดเรกทอรีเป็น external library ควรทำสำเนาข้อมูลต้นฉบับก่อนนำเข้าครั้งใหญ่
