SSD Nodes Learn RAM 8GB — $66/ปี
คู่มือ Matt Connorโดย Matt Connor · อัปเดตเมื่อ 2026-08-01

PhotoPrism vs Immich เลือกเซิร์ฟเวอร์รูปไหนดี

เปรียบเทียบ PhotoPrism กับ Immich แบบใช้งานจริง: RAM ขั้นต่ำ แอปมือถือ แผนที่ และคำสั่งสำรองข้อมูลที่ต้องใช้บน VPS พร้อมข้อควรรู้ก่อนเลือก

PhotoPrism กับ Immich: คำตอบโดยสรุป

PhotoPrism กับ Immich เป็นตัวเลือกสำหรับงานที่แตกต่างกัน ไม่ใช่ซอฟต์แวร์เดียวกันคนละเวอร์ชัน Immich ทำหน้าที่แทน Google Photos: แอปบนโทรศัพท์จะสำรองรูปจาก camera roll โดยอัตโนมัติ และแสดงไทม์ไลน์ที่คุ้นเคยสำหรับผู้ที่เลิกใช้แกลเลอรีในโทรศัพท์ PhotoPrism ใช้จัดระเบียบคลังรูปภาพที่มีอยู่แล้ว โดยจัดทำดัชนีโฟลเดอร์ไฟล์บนดิสก์ อ่านข้อมูลเมตา แสดงตำแหน่งบนแผนที่ และคงไฟล์ไว้ในตำแหน่งเดิม

เลือก Immich หากปัญหาคือ "โทรศัพท์ของฉันเต็ม และฉันต้องการเลิกใช้ Google Photos" เลือก PhotoPrism หากปัญหาคือ "ฉันมีรูปภาพ 400 GB อยู่ในไดรฟ์ และไม่สามารถค้นหารูปใด ๆ ได้" ทั้งสองเป็นซอฟต์แวร์โอเพนซอร์ส ทำงานเป็น Docker containers บน VPS ทั่วไปได้ และจัดทำดัชนีรวมถึงค้นหาคลังรูปภาพของคุณโดยไม่ส่งข้อมูลไปยังบุคคลภายนอก

ความแตกต่างด้านแนวคิด และเหตุผลที่ความแตกต่างนี้เป็นตัวกำหนดทุกอย่าง

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

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

ความแตกต่างเพียงประการเดียวนี้อธิบายความแตกต่างส่วนใหญ่ที่เหลือได้ Immich รองรับอุปกรณ์เคลื่อนที่ได้ดี เพราะควบคุมกระบวนการนำเข้าไฟล์ PhotoPrism จัดการคลังรูปภาพได้ดี เพราะไม่ขัดแย้งกับโครงสร้างที่มีอยู่ของคุณ Immich เหมาะกว่าสำหรับครอบครัวที่เก็บรูปภาพไว้ในโทรศัพท์ PhotoPrism เหมาะกว่าสำหรับคลังรูปภาพที่เก็บอยู่บนดิสก์

ความต้องการด้านฮาร์ดแวร์: Immich ต้องการทรัพยากรมากกว่า

ข้อกำหนดหน่วยความจำขั้นต่ำที่ระบุไว้แตกต่างกันมาก และสำหรับ VPS ขนาดเล็ก ปัจจัยนี้มักเป็นตัวตัดสิน

ChartDocumented memory requirement, as of July 2026
The data behind this chart
[
  {
    "label": "Immich",
    "min_ram_gb": 6,
    "recommended_ram_gb": 8
  },
  {
    "label": "PhotoPrism",
    "min_ram_gb": 3,
    "recommended_ram_gb": 4
  }
]

Immich ระบุว่า 6 GB RAM เป็นขั้นต่ำ และ 8 GB เป็นค่าที่แนะนำ พร้อมระบุว่าเครื่องที่มี 4 GB สามารถใช้งานได้ก็ต่อเมื่อปิด machine learning PhotoPrism ระบุหน่วยความจำกายภาพ 3 GB และ CPU 2 คอร์ อีกทั้งระบุว่าปริมาณ RAM ควรสอดคล้องกับจำนวนคอร์

ความแตกต่างนี้มีอยู่จริง และเกิดจากคอนเทนเนอร์ machine learning Immich เรียกใช้โมเดลในบริการ immich-machine-learning แยกต่างหาก โดยโหลดโมเดล CLIP (contrastive language image pretraining) และโมเดลตรวจจับใบหน้าไว้ในหน่วยความจำ บนเครื่องที่มี RAM 2 GB kernel จะยุติคอนเทนเนอร์ดังกล่าว และจะแสดงการออกด้วยรหัส 137 ซึ่งเป็นลักษณะที่ Docker แสดงเมื่อเกิดการยุติโปรเซสเนื่องจากหน่วยความจำไม่เพียงพอ โมเดล TensorFlow ของ PhotoPrism มีขนาดเล็กกว่า และจะลดความสามารถแทนการหยุดทำงาน: บนเครื่องที่มี RAM 1 GB หรือน้อยกว่า ระบบจะปิดการแปลง RAW และ TensorFlow แทนการหยุดทำงานทั้งหมด

ทั้งสองโครงการต้องการ swap โดยเอกสารของ PhotoPrism ระบุชัดเจนว่าเซิร์ฟเวอร์ควรมี swap อย่างน้อย 4 GB ให้เพิ่ม swap ก่อนติดตั้งโปรแกรมใดโปรแกรมหนึ่ง

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -h

free -h ควรแสดงบรรทัด Swap: ที่มีค่า 4.0Gi หากแสดง 0B แสดงว่า swapon ทำงานไม่สำเร็จ โดยทั่วไปเกิดจาก filesystem ไม่รองรับ fallocate และ sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 จึงเป็นทางเลือกสำรอง ขีดจำกัดหน่วยความจำของคอนเทนเนอร์ก็มีผลเช่นกัน และ การกำหนดขีดจำกัดหน่วยความจำใน Docker Compose เป็นวิธีป้องกันไม่ให้บริการใดบริการหนึ่งใช้ทรัพยากรมากจนทำให้ทั้งเครื่องหยุดทำงาน

ยังมีข้อกำหนดอีกประการที่มักถูกมองข้าม ฐานข้อมูล Postgres ของ Immich ต้องอยู่บน filesystem แบบ Unix ปกติที่รองรับ ownership และ permissions จริง และต้องใช้ storage ภายในเครื่อง ห้ามใช้ network share PhotoPrism ระบุข้อกำหนดเดียวกันสำหรับไฟล์ฐานข้อมูล แอปทั้งสองไม่ปลอดภัยหากวางฐานข้อมูลไว้บน object store ที่ mount ไว้

วิธีติดตั้งแต่ละรายการ

การติดตั้งทั้งสองแบบใช้ไฟล์ compose จากผู้จำหน่ายร่วมกับคำสั่งหนึ่งคำสั่ง ให้ตั้งค่า Docker Engine และปลั๊กอิน Compose ก่อน ตามที่อธิบายไว้ใน คู่มือ Docker Compose บน VPS ของเรา

Immich เผยแพร่ไฟล์ compose และไฟล์ environment ตัวอย่างพร้อมกับทุกรีลีส

sudo mkdir -p /opt/immich && cd /opt/immich
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env

แก้ไข .env ก่อนเริ่มดำเนินการใดๆ UPLOAD_LOCATION คือ ตำแหน่งที่จะเก็บไฟล์ต้นฉบับของคุณ และต้องเปลี่ยน DB_PASSWORD จากค่าเริ่มต้น โดยใช้เฉพาะอักขระ A-Za-z0-9 เท่านั้น เนื่องจากอักขระพิเศษทำให้ connection string ใช้งานไม่ได้ จากนั้นจึงเริ่มระบบ

docker compose up -d
docker compose ps

เว็บอินเทอร์เฟซรับการเชื่อมต่อที่พอร์ต 2283 บัญชีแรกที่ลงทะเบียนผ่านหน้านี้จะได้รับสิทธิ์เป็นผู้ดูแลระบบ ดังนั้นให้เปิดหน้าเว็บและลงทะเบียนทันที อย่าปล่อยอินสแตนซ์ที่เปิดให้เข้าถึงค้างไว้บนอินเทอร์เน็ต

PhotoPrism เผยแพร่ไฟล์ compose หนึ่งไฟล์ซึ่งมี MariaDB รวมอยู่แล้ว

sudo mkdir -p /opt/photoprism && cd /opt/photoprism
wget https://dl.photoprism.app/docker/compose.yaml

เปิด compose.yaml และเปลี่ยน PHOTOPRISM_ADMIN_PASSWORD ก่อนเริ่มครั้งแรก เอกสารระบุไว้อย่างชัดเจนว่า แอปจะเริ่มทำงานด้วยรหัสผ่านเริ่มต้นที่อยู่ในไฟล์นั้น รหัสผ่านต้องมีความยาวอย่างน้อย 8 อักขระ และห้ามใช้ค่าเริ่มต้นบนเซิร์ฟเวอร์สาธารณะโดยเด็ดขาด ในขั้นตอนเดียวกัน ให้ตั้งค่า volume originals เป็นโฟลเดอร์ที่เก็บรูปภาพของคุณ

docker compose up -d
docker compose logs -f photoprism

PhotoPrism รับการเชื่อมต่อที่พอร์ต 2342 โดยใช้ผู้ใช้ admin ไม่ควรเปิดให้เข้าถึงแอปใดโดยตรง ให้วาง reverse proxy ที่ใช้ TLS (ความปลอดภัยของชั้นการส่งข้อมูล) ไว้ด้านหน้า โดยใช้รูปแบบการตั้งค่าเดียวกับ Nextcloud ที่โฮสต์ด้วยตนเองโดยใช้ Docker, TLS และการสำรองข้อมูล

แอปโทรศัพท์ของโครงการใดดีกว่า

จุดนี้เป็นส่วนที่ทั้งสองโครงการแตกต่างกันมากที่สุด และเป็นเหตุผลที่คนส่วนใหญ่เลือกใช้ Immich

Immich มีแอปอย่างเป็นทางการสำหรับ Android และ iOS แอปสามารถสำรองข้อมูลจาก camera roll ในเบื้องหลังได้ ซึ่งหมายความว่ารูปภาพใหม่จะถูกส่งออกจากโทรศัพท์โดยไม่ต้องเปิดแอปใดๆ แอปต้องใช้ปลายทาง HTTPS ดังนั้น reverse proxy จึงเป็นสิ่งจำเป็นหากคุณวางแผนใช้งานจากภายนอกบ้าน

PhotoPrism ไม่มีแอป native อย่างเป็นทางการ แต่มี progressive web app ซึ่งคุณสามารถเพิ่มไปยังหน้าจอหลักจากเบราว์เซอร์ได้ และมีเอกสารระบุให้ใช้ WebDAV (web distributed authoring and versioning) เป็นวิธีซิงค์ข้อมูลจากโทรศัพท์ โครงการแนะนำแอปของผู้พัฒนารายอื่นชื่อ PhotoSync สำหรับงานนี้ โดยกำหนดให้ชี้ไปยังไดเรกทอรี /import/ หรือ /originals/ ผ่าน WebDAV วิธีนี้ใช้งานได้ แต่ต้องใช้แอปของผู้พัฒนารายอื่นที่มีค่าใช้จ่าย เพื่อทำงานที่ Immich รองรับอยู่ภายใน client ของตนเอง

หากข้อกำหนดคือการสำรองข้อมูลจากโทรศัพท์โดยอัตโนมัติสำหรับสมาชิกครอบครัวหลายคน ข้อนี้ก็เป็นตัวตัดสิน Immich

สิ่งที่ machine learning มอบให้จริง

Immich ค้นหาเชิงความหมายในคลังรูปภาพของคุณโดยใช้ CLIP ดังนั้นคำค้นอย่าง "จักรยานสีแดงบนหิมะ" จึงค้นหารูปภาพที่ไม่เคยมีใครติดแท็กได้ นอกจากนี้ยังตรวจจับและจัดกลุ่มใบหน้า รวมถึงตรวจหารูปภาพซ้ำได้ การทำดัชนีการนำเข้าขนาดใหญ่บน CPU อาจทำงานเบื้องหลังเป็นเวลาหลายชั่วโมง ซึ่งเป็นเรื่องปกติและไม่จำเป็นต้องใช้ GPU (graphics processing unit)

PhotoPrism จัดประเภท images ด้วย TensorFlow เป็นป้ายกำกับ ตรวจจับใบหน้าและจัดกลุ่มเป็นบุคคล รวมทั้งอ่าน metadata ตำแหน่งเพื่อสร้างแผนที่สถานที่ แผนที่นี้เป็นฟีเจอร์ที่ทำให้ผู้ใช้ยังคงเลือกใช้ระบบนี้: คลังรูปภาพที่จัดทำดัชนีตามสถานที่ที่ถ่าย เป็นวิธีเรียกดูรูปภาพตลอดยี่สิบปีที่แตกต่างอย่างแท้จริง การรู้จำใบหน้ารวมอยู่ใน Community edition แบบไม่มีค่าใช้จ่าย ส่วนสมาชิกแบบชำระเงิน Essentials และ Plus เพิ่มฟีเจอร์เสริม เช่น เลเยอร์แผนที่ที่มีรายละเอียดมากขึ้น บทบาทผู้ใช้เพิ่มเติม และอินเทอร์เฟซสำหรับจัดการผู้ใช้ โดยเริ่มต้นที่ไม่กี่ยูโรต่อเดือน ณ July 2026

Immich ให้ใช้งานได้ฟรีทั้งหมดโดยไม่มี paid tier ส่วนแกนหลักของ PhotoPrism ใช้งานได้ฟรี และมีฟีเจอร์เสริมแบบชำระเงินให้เลือกใช้

การสำรองข้อมูลเป็นตัวตัดสินว่าคุณจะเก็บข้อมูลไว้ได้หรือไม่

เซิร์ฟเวอร์รูปภาพที่ไม่มีการสำรองข้อมูล อาจสูญเสียข้อมูลทั้งหมดของครอบครัวจากดิสก์เสียเพียงครั้งเดียว ทั้งสองแอปต้องสำรองข้อมูล 2 ส่วน ได้แก่ ฐานข้อมูลและไฟล์

สำหรับ Immich ให้ dump ฐานข้อมูลจากคอนเทนเนอร์ Postgres แล้วคัดลอกตำแหน่งจัดเก็บไฟล์อัปโหลด

docker exec -t immich_postgres pg_dump --clean --if-exists --dbname=immich --username=postgres | gzip > /backup/immich-db.sql.gz

จากนั้นให้สำรองข้อมูล UPLOAD_LOCATION โฟลเดอร์ที่เก็บข้อมูลซึ่งไม่สามารถทดแทนได้คือ upload, library และ profile ส่วนโฟลเดอร์ thumbs และ encoded-video สามารถสร้างใหม่ได้ แต่ต้องใช้เวลา CPU หลายชั่วโมง การมี database dump เพียงอย่างเดียวไม่สามารถกู้คืนข้อมูลได้ เพราะมีเฉพาะ metadata

สำหรับ PhotoPrism มีคำสั่งเฉพาะสำหรับ index

docker compose exec photoprism photoprism backup -i -f

คำสั่งนี้จะเขียน SQL dump ไว้ใน storage/backup/ จากนั้นให้คัดลอกโฟลเดอร์ originals และโฟลเดอร์ storage เนื่องจาก PhotoPrism ยังเขียนไฟล์ YAML sidecar ที่อธิบายรูปภาพแต่ละรูปไว้ด้วย หาก index สูญหาย ก็สามารถสร้างใหม่จากไฟล์เพียงอย่างเดียวได้ ซึ่งเป็นข้อได้เปรียบที่สำคัญสำหรับคลังข้อมูลที่คุณวางแผนจะเก็บไว้นานหลายทศวรรษ

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

คุณควรใช้ตัวใด

ใช้ Immich หากรูปภาพของคุณอยู่ในโทรศัพท์ หากมีมากกว่า 1 คนที่ต้องสำรองข้อมูลจาก camera roll และหากคุณจัดสรร RAM ให้เซิร์ฟเวอร์ได้ 6 GB ขึ้นไป Immich ใกล้เคียงกับ Google Photos ที่คุณโฮสต์เองได้มากที่สุด และจุดเด่นอยู่ที่ประสบการณ์ใช้งานบนอุปกรณ์เคลื่อนที่ คู่มือติดตั้ง Immich แบบทีละขั้นตอน ของเราอธิบายปัญหา memory kill และข้อควรระวังในการอัปเกรดไว้อย่างละเอียด

ใช้ PhotoPrism หากคุณมีคลังรูปภาพอยู่บนดิสก์แล้ว หากคุณให้ความสำคัญกับแผนที่และ metadata รวมถึงการรักษาโครงสร้างโฟลเดอร์ของตนเอง หรือหาก VPS ของคุณมี RAM 4 GB และคุณต้องการ library ที่ใช้งานได้ แทน library ที่ทำให้ระบบใช้ swap PhotoPrism เหมาะกว่าสำหรับการจัดหมวดหมู่ และใช้ทรัพยากรน้อยกว่าบนฮาร์ดแวร์ขนาดเล็ก

การใช้งานทั้งสองตัวก็เป็นทางเลือกที่เหมาะสม Immich จัดการการนำเข้ารูปภาพจากโทรศัพท์ในแต่ละวัน จากนั้นปีละครั้ง คุณจัดรูปภาพที่ต้องการเก็บเข้า archive และให้ PhotoPrism ทำดัชนีข้อมูลดังกล่าว ทั้งสองตัวไม่ขัดแย้งกัน เพราะ PhotoPrism อ่านโฟลเดอร์ ขณะที่ Immich จัดการข้อมูลของตนเอง

FAQ

PhotoPrism และ Immich ใช้โฟลเดอร์รูปภาพเดียวกันได้หรือไม่

ไม่ควรใช้ร่วมกันอย่างปลอดภัยในทั้งสองทิศทาง PhotoPrism อ่านโฟลเดอร์ originals และเขียนไฟล์ YAML ประกอบไว้ถัดจากไฟล์รูปภาพของคุณ ส่วน Immich คาดว่าจะเป็นผู้จัดการเนื้อหาในตำแหน่งจัดเก็บไฟล์อัปโหลด คุณสามารถกำหนดให้ PhotoPrism ใช้สำเนาแบบอ่านอย่างเดียวของโฟลเดอร์ library ของ Immich เพื่อเรียกดูได้ แต่อย่าให้แอปทั้งสองจัดการไฟล์ชุดเดียวกัน เพราะเทมเพลตการจัดเก็บของ Immich อาจย้ายหรือเปลี่ยนชื่อไฟล์ระหว่างที่ PhotoPrism กำลังทำดัชนี

Immich มีเสถียรภาพเพียงพอที่จะเก็บรูปภาพของฉันไว้เพียงสำเนาเดียวหรือไม่

ไม่ควรให้แอปที่โฮสต์เองเก็บข้อมูลใด ๆ ไว้เพียงสำเนาเดียว Immich ออกการเปลี่ยนแปลงที่ไม่เข้ากันได้กับเวอร์ชันเดิมอยู่บ่อยครั้ง และ docker compose pull ที่ดำเนินการโดยไม่ระมัดระวังอาจทำให้ฐานข้อมูลเริ่มทำงานไม่ได้ ดังนั้นให้ตรึงเวอร์ชันและอ่านบันทึกประจำรุ่นก่อนอัปเกรด เก็บไฟล์ต้นฉบับไว้ในข้อมูลสำรองนอกเซิร์ฟเวอร์ แล้วความเสี่ยงจะอยู่ในระดับต่ำ

เหตุใดคอนเทนเนอร์ machine learning ของ Immich จึงเริ่มทำงานใหม่อยู่เสมอ

คอนเทนเนอร์ถูกหยุดเนื่องจากใช้หน่วยความจำมากเกินไป เรียกใช้ docker compose ps และตรวจสอบว่าบริการ machine learning หยุดทำงานด้วยรหัส 137 หรือไม่ ซึ่งหมายถึง kernel out of memory killer ให้เพิ่ม swap หรือกำหนดขีดจำกัดหน่วยความจำให้คอนเทนเนอร์ เพื่อให้ระบบจำกัดการใช้หน่วยความจำแทนการหยุดคอนเทนเนอร์ หรือปิด machine learning ทั้งหมดบนเครื่องที่มีหน่วยความจำ 4 GB หากไม่มี machine learning การค้นหาจะไม่ทำงาน แต่ส่วนอื่นของ Immich ยังคงทำงานได้ตามปกติ

PhotoPrism จำเป็นต้องใช้ MariaDB หรือใช้ SQLite ได้

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

ควรเตรียมพื้นที่ดิสก์เพิ่มจากขนาดคลังรูปภาพเท่าใด

ให้เพิ่มพื้นที่ 10 ถึง 20 เปอร์เซ็นต์จากขนาดไฟล์ต้นฉบับสำหรับแอปใดแอปหนึ่ง พื้นที่ส่วนนี้รองรับ thumbnail ที่สร้างขึ้นและตัวอย่างวิดีโอที่แปลงรูปแบบแล้ว คลังข้อมูลขนาด 200 GB ต้องใช้ volume ประมาณ 300 GB เมื่อเผื่อพื้นที่สำหรับฐานข้อมูล สำเนาข้อมูลสำรองภายในเครื่อง และการขยายตัวในอนาคต