SSD Nodes Learn 🎉 VPS $4.99/महिन्यापासून
मार्गदर्शक Matt Connorद्वारे Matt Connor · अपडेटेड 2026-08-07

PhotoPrism विरुद्ध Immich: कोणता photo server निवडावा?

PhotoPrism आणि Immich मधील तुलना: खरा RAM वापर, फोन अॅप, नकाशे, library व्यवस्थापन आणि VPS वर लागणाऱ्या अचूक backup commands जाणून घ्या.

PhotoPrism विरुद्ध Immich: थोडक्यात उत्तर

PhotoPrism विरुद्ध Immich ही निवड एकाच उत्पादनाच्या दोन आवृत्त्यांमधील नसून दोन वेगवेगळ्या गरजांमधील आहे. Immich हे Google Photos चा पर्याय आहे: फोन अॅप तुमच्या camera roll चा आपोआप backup घेते आणि त्यातून मिळणारी timeline फोन gallery वापरून आलेल्या कोणालाही परिचित वाटते. PhotoPrism तुमच्याकडे आधीपासून असलेली photo library व्यवस्थित करते: ते disk वरील फाइल्सचे folders index करते, त्यांचा metadata वाचते, त्या नकाशावर दाखवते आणि फाइल्स ज्या ठिकाणी होत्या त्याच ठिकाणी ठेवते.

समस्या "माझ्या फोनमध्ये जागा संपली आहे आणि मला Google Photos वापरणे थांबवायचे आहे" अशी असल्यास Immich निवडा. समस्या "माझ्या drive वर photos चे 400 GB आहेत आणि त्यांपैकी काहीही शोधता येत नाही" अशी असल्यास PhotoPrism निवडा. दोन्ही open source आहेत, दोन्ही सामान्य VPS वर Docker containers म्हणून चालतात आणि दोन्ही तुमची library कोणत्याही third party कडे पाठविल्याशिवाय index आणि search करतात.

तत्त्वज्ञानातील फरक आणि तो सर्वकाही का ठरवतो

Immich फाइल्सचे व्यवस्थापन करते. तुम्ही त्याला upload location देता. फोन अॅप किंवा web uploader मूळ फाइल्स तिथे पाठवतो. त्यानंतर Immich त्या फाइल्स स्वतःच्या path अंतर्गत आणि स्वतःच्या naming पद्धतीने साठवते. albums, faces आणि search यांसंबंधीची अधिकृत माहिती database मध्ये असते. फोनवरील अनुभव चांगला असण्याचे कारण हीच रचना आहे. सर्व assets ची संपूर्ण स्थिती server ला नेहमी माहीत असते.

PhotoPrism फाइल्स वाचते. तुम्ही आधीपासून नियंत्रित करत असलेला originals folder mount करता आणि PhotoPrism त्यावर index तयार करते. तुमची directory tree तुमचीच राहते. उद्या PhotoPrism काढून टाकले, तरी photos त्याच folders मध्ये त्याच names सह राहतील. PhotoPrism ने शिकलेल्या माहितीचे वर्णन करणाऱ्या sidecar YAML files ते त्यांच्या शेजारी लिहील.

हा एकच फरक पुढील बहुतेक गोष्टी स्पष्ट करतो. Immich कडे ingestion चे नियंत्रण असल्यामुळे त्याला mobile support मजबूत मिळतो. PhotoPrism तुमच्या विद्यमान structure शी संघर्ष करत नाही, म्हणून library curation मजबूत असते. ज्यांच्या photos फोनवर साठतात अशा कुटुंबासाठी Immich हा अधिक योग्य पर्याय आहे. एखाद्या disk वर archive साठत असेल, तर PhotoPrism हा अधिक योग्य पर्याय आहे.

हार्डवेअरची गरज: Immich ला अधिक संसाधने लागतात

दस्तऐवजीकरणात दिलेल्या किमान memory आवश्यकता एकमेकांपासून खूप वेगळ्या आहेत. लहान 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 RAM शिफारस केलेली आहे. 4 GB मशीनवर machine learning बंद केले असेल तरच ते चालू शकते, अशी नोंदही आहे. PhotoPrism साठी 3 GB physical memory आणि दोन CPU cores आवश्यक आहेत. RAM चे प्रमाण core count शी जुळले पाहिजे, असे त्यात म्हटले आहे.

हा फरक वास्तविक आहे. तो machine learning container मुळे निर्माण होतो. Immich त्याचे models स्वतंत्र immich-machine-learning service मध्ये चालवते. ही service CLIP (contrastive language image pretraining) आणि face detection models memory मध्ये load करते. 2 GB मशीनवर kernel हा container बंद करते. Docker मध्ये out of memory kill झाल्यावर तो code 137 सह exit झालेला दिसतो. PhotoPrism चे TensorFlow models लहान आहेत. त्यामुळे ते बंद पडण्याऐवजी कार्यक्षमता कमी करते. 1 GB किंवा त्यापेक्षा कमी memory असलेल्या मशीनवर ते crash होण्याऐवजी RAW conversion आणि TensorFlow बंद करते.

दोन्ही projects swap ची आवश्यकता सांगतात. PhotoPrism च्या दस्तऐवजीकरणात server वर किमान 4 GB swap असावी, असे स्पष्टपणे नमूद केले आहे. यापैकी कोणतेही अॅप install करण्यापूर्वी 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 ने आता 4.0Gi दाखवणारी Swap: line print केली पाहिजे. त्याऐवजी 0B print झाल्यास swapon अयशस्वी झाले आहे. याचे सामान्य कारण म्हणजे filesystem fallocate ला support करत नाही आणि sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 हा fallback म्हणून वापरला जातो. येथे container memory ceilings देखील महत्त्वाच्या आहेत. Docker Compose मध्ये memory limits सेट करणे हा एकाच जास्त memory वापरणाऱ्या service मुळे संपूर्ण मशीन बंद पडू नये यासाठीचा उपाय आहे.

आणखी एक आवश्यकता अनेकांच्या लक्षात येत नाही. Immich चा Postgres database वास्तविक ownership आणि permissions असलेल्या सामान्य Unix filesystem वर, local storage मध्ये असला पाहिजे. तो network share वर कधीही ठेवू नका. PhotoPrism त्याच्या database files बाबतही हीच अट सांगते. Mounted object store वर database ठेवून यापैकी कोणतेही अॅप सुरक्षितपणे चालवता येत नाही.

प्रत्येक अॅप कसे स्थापित करावे

दोन्ही अॅप्सची स्थापना vendor compose file आणि एका command ने होते. आधी Docker Engine आणि Compose plugin सेट अप करा. यासाठी VPS वर Docker Compose साठीचे आमचे मार्गदर्शक पहा.

Immich प्रत्येक release सोबत त्याची compose file आणि उदाहरण environment file प्रकाशित करते.

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 मध्ये default मूल्य बदलताना केवळ A-Za-z0-9 मधील अक्षरे वापरा. Special characters मुळे connection string मध्ये बिघाड होतो. त्यानंतर Immich सुरू करा.

docker compose up -d
docker compose ps

Web interface port 2283 वर उपलब्ध होते. त्या पृष्ठावरून नोंदणी केलेले पहिले account administrator बनते. त्यामुळे ते त्वरित उघडा आणि नोंदणी करा. उघडे instance इंटरनेटवर तसेच ठेवू नका.

PhotoPrism सोबत MariaDB आधीपासून समाविष्ट असलेली एक compose file येते.

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

पहिल्यांदा सुरू करण्यापूर्वी compose.yaml उघडा आणि PHOTOPRISM_ADMIN_PASSWORD बदला. Documentation मध्ये हे स्पष्टपणे सांगितले आहे: या file मधील initial password वापरूनच app सुरू होते, त्याची किमान लांबी 8 characters आहे आणि public server वर default value कधीही वापरू नये. त्याच वेळी originals volume तुमचे photos असलेल्या folder वर सेट करा.

docker compose up -d
docker compose logs -f photoprism

PhotoPrism port 2342 वर admin user सह उपलब्ध होते. कोणतेही app थेट internet वर expose करू नये. त्याच्या समोर TLS (transport layer security) असलेला reverse proxy ठेवा. Docker, TLS आणि backups सह self-hosted Nextcloud साठी वापरलेल्या रचनेसारखीच ही व्यवस्था आहे.

यापैकी कोणाचे फोन अॅप अधिक चांगले आहे

या बाबतीत हे दोन प्रकल्प सर्वाधिक वेगळे आहेत आणि त्यामुळेच बहुतेक लोक Immich निवडतात.

Immich कडे Android आणि iOS साठी अधिकृत अॅप्स आहेत. ही अॅप्स camera roll चे background backup करतात. म्हणजे कोणीही अॅप न उघडता नवीन फोटो फोनमधून बाहेर पाठवले जातात. अॅपला HTTPS endpoint आवश्यक आहे. त्यामुळे घराबाहेरून वापरण्याचा विचार असल्यास reverse proxy पर्यायी राहत नाही.

PhotoPrism कडे अधिकृत native अॅप नाही. त्यात progressive web app दिलेले आहे. ते browser मधून home screen वर जोडता येते. फोनवरून sync करण्यासाठी WebDAV (web distributed authoring and versioning) वापरण्याची पद्धत दस्तऐवजीकरणात दिली आहे. यासाठी प्रकल्प PhotoSync नावाच्या third party अॅपची शिफारस करतो. हे अॅप WebDAV द्वारे /import/ किंवा /originals/ directory कडे निर्देशित केले जाते. ही पद्धत कार्य करते. मात्र Immich स्वतःच्या client मध्ये जे काम करते, ते येथे एक paid third party अॅप करते.

कुटुंबातील अनेक सदस्यांसाठी फोनचा automatic backup आवश्यक असल्यास निर्णय स्पष्ट आहे: Immich.

मशीन लर्निंगचा प्रत्यक्ष उपयोग

Immich CLIP वापरून तुमच्या लायब्ररीमध्ये semantic search करते. त्यामुळे "red bicycle in snow" सारखी query कोणीही tag न केलेले फोटो शोधू शकते. Immich face detection, face clustering आणि duplicate detection देखील करते. CPU वर मोठ्या import चे indexing पार्श्वभूमीत अनेक तास चालते. हे सामान्य आहे आणि यासाठी GPU (graphics processing unit) आवश्यक नाही.

PhotoPrism TensorFlow वापरून प्रतिमांचे labels नुसार classification करते, चेहरे शोधते आणि त्यांना people मध्ये गटबद्ध करते. तसेच location metadata वाचून places map तयार करते. लोक PhotoPrism वापरत राहण्याचे मुख्य कारण हा map आहे. फोटो कुठे घेतले गेले यानुसार index केलेली लायब्ररी वीस वर्षांचे फोटो browse करण्याची पूर्णपणे वेगळी पद्धत देते. Face recognition मोफत Community edition मध्ये समाविष्ट आहे. Paid Essentials आणि Plus memberships मध्ये अधिक समृद्ध map layers, अधिक user roles आणि user management interface यांसारख्या अतिरिक्त सुविधा मिळतात. July 2026 नुसार यांची सुरुवात दरमहा काही euros पासून होते.

Immich पूर्णपणे मोफत आहे आणि त्यात paid tier नाही. PhotoPrism चे core मोफत आहे; अतिरिक्त paid features ऐच्छिक आहेत.

बॅकअपवर तुमचा डेटा टिकून राहील की नाही हे ठरते

बॅकअप नसलेला फोटो सर्व्हर एका disk failure मुळे कुटुंबातील अनेक वर्षांचा सर्व डेटा गमावू शकतो. दोन्ही अॅप्ससाठी दोन प्रकारचे बॅकअप आवश्यक आहेत: database आणि files.

Immich साठी Postgres container मधून database dump घ्या आणि upload location ची प्रत तयार करा.

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

त्यानंतर UPLOAD_LOCATION चा बॅकअप घ्या. अपरिवर्तनीय डेटा असलेले folders म्हणजे upload, library आणि profile. thumbs आणि encoded-video folders पुन्हा तयार करता येतात; मात्र त्यासाठी अनेक तासांचा CPU time लागू शकतो. फक्त database dump पुरेसा नाही, कारण त्यात केवळ metadata असतो आणि त्यावरून कोणतीही फाइल पुनर्संचयित करता येत नाही.

PhotoPrism साठी index साठी स्वतंत्र command आहे.

docker compose exec photoprism photoprism backup -i -f

यामुळे storage/backup/ अंतर्गत SQL dump लिहिला जातो. त्यानंतर originals folder आणि storage folder ची प्रत तयार करा. PhotoPrism प्रत्येक फोटोचे वर्णन करणाऱ्या sidecar YAML files देखील लिहिते. त्यामुळे index हरवला तरी files मधून तो पुन्हा तयार करता येतो. अनेक दशकांपर्यंत जतन करण्याच्या archive साठी हा महत्त्वाचा लाभ आहे.

तुम्ही कोणतेही अॅप निवडा, तरी encrypted, deduplicated restic backups to remote storage वापरून ठराविक वेळापत्रकानुसार हे बॅकअप server च्या बाहेर पाठवा. Library ज्या disk वर आहे त्याच disk वर ठेवलेला बॅकअप हा बॅकअप मानला जात नाही.

कोणते चालवावे

तुमचे फोटो फोनवर असतील, एकापेक्षा जास्त व्यक्तींना camera roll चा backup घ्यायचा असेल आणि सर्व्हरला 6 GB किंवा त्याहून अधिक RAM देऊ शकत असाल, तर Immich चालवा. स्वतः host करता येणाऱ्या Google Photos शी हे सर्वाधिक साम्य असलेले अॅप आहे आणि त्याचा mobile अनुभव हा मुख्य उद्देश आहे. आमच्या Immich install करण्यासाठीच्या चरण-दर-चरण मार्गदर्शिकेत memory kills आणि upgrade traps यांचे सविस्तर वर्णन आहे.

डिस्कवर आधीपासून photo archive असेल, maps आणि metadata महत्त्वाचे वाटत असतील, स्वतःची folder structure कायम ठेवायची असेल किंवा तुमच्या VPS मध्ये 4 GB RAM असेल आणि swapping करणाऱ्या library पेक्षा व्यवस्थित चालणारी library हवी असेल, तर PhotoPrism चालवा. हे अधिक चांगले curation tool आहे आणि कमी क्षमतेच्या hardware वर त्याचा ताण कमी असतो.

दोन्ही अॅप्स चालवणेही योग्य ठरू शकते. Immich दररोज फोनवरून फोटो घेण्याचे काम हाताळेल. वर्षातून एकदा ठेवायचे फोटो तुमच्या archive मध्ये वर्गीकृत करा आणि PhotoPrism ला त्यांचे index तयार करू द्या. दोन्ही अॅप्समध्ये संघर्ष होत नाही, कारण PhotoPrism folders वाचतो, तर Immich स्वतःच्या folders चे व्यवस्थापन करतो.

FAQ

PhotoPrism आणि Immich समान फोटो फोल्डर सामायिक करू शकतात का?

दोन्ही दिशांनी ते सुरक्षितपणे करता येत नाही. PhotoPrism originals फोल्डर वाचतो आणि तुमच्या प्रतिमांच्या शेजारी sidecar YAML files लिहितो, तर Immich त्याच्या upload location मधील सामग्रीचे पूर्ण व्यवस्थापन स्वतःकडे अपेक्षित धरतो. ब्राउझिंगसाठी तुम्ही Immich च्या library फोल्डरची read-only प्रत PhotoPrism ला देऊ शकता. मात्र दोन्ही अॅप्सना समान files व्यवस्थापित करू देऊ नका, कारण Immich indexing करताना त्याचा storage template PhotoPrism कडील assets हलवू किंवा त्यांची नावे बदलू शकतो.

माझ्या फोटोंची एकमेव प्रत ठेवण्यासाठी Immich पुरेसा stable आहे का?

Self-hosted अॅपने कोणत्याही गोष्टीची एकमेव प्रत कधीही ठेवू नये. Immich मध्ये breaking changes वारंवार येतात आणि निष्काळजी docker compose pull मुळे database सुरू होऊ शकत नाही. त्यामुळे तुमची version pin करा आणि upgrade करण्यापूर्वी release notes वाचा. Original files server च्या बाहेर backup करून ठेवा. त्यामुळे जोखीम कमी राहते.

Immich machine learning container वारंवार restart का होत आहे?

तो जास्त memory वापरत असल्यामुळे kill केला जात आहे. docker compose ps चालवा आणि machine learning service code 137 सह exit होत आहे का ते पाहा. हा kernel चा out of memory killer आहे. Swap जोडा किंवा container ला memory limit द्या, त्यामुळे तो kill होण्याऐवजी throttle होईल. 4 GB मशीनवर machine learning पूर्णपणे disable करणेही शक्य आहे. त्याशिवाय search काम करणे थांबते, मात्र Immich चा उर्वरित भाग व्यवस्थित चालतो.

PhotoPrism ला MariaDB आवश्यक आहे का, की SQLite पुरेसे आहे?

SQLite काम करते आणि वैयक्तिक library साठी योग्य आहे. मात्र ते वापरताना PhotoPrism स्वतःला चार workers पर्यंत मर्यादित ठेवतो. उच्च concurrency अधिक चांगल्या प्रकारे हाताळत असल्यामुळे docs MariaDB वर switch करण्याची शिफारस करतात. Project कडून ship केलेल्या compose file मध्ये MariaDB आधीच समाविष्ट आहे. त्यामुळे शिफारस केलेली पद्धत हीच default पद्धत आहे.

माझ्या library च्या आकारापेक्षा किती disk space जास्त ठेवावे?

दोन्हीपैकी कोणत्याही अॅपसाठी originals च्या आकारावर 10 ते 20 percent अधिक जागा ठेवा. यात generated thumbnails आणि transcoded video previews साठी जागा समाविष्ट होते. 200 GB collection साठी database, local backup copy आणि भविष्यातील वाढ यांना जागा ठेवून साधारण 300 GB volume आवश्यक आहे.