PhotoPrism au Immich: ipi bora kwa picha zako?
Tulinganishe PhotoPrism na Immich kwa kuzingatia matumizi ya RAM, utendaji wa programu za simu, na amri sahihi za chelezo unazohitaji ili kulinda picha zako kwenye seva ya VPS.
PhotoPrism dhidi ya Immich: jibu fupi
Uchaguzi kati ya PhotoPrism na Immich ni wa kazi mbili tofauti, si matoleo mawili ya bidhaa moja. Immich inachukua nafasi ya Google Photos: programu ya simu huhifadhi nakala ya picha zako kiotomatiki, na mpangilio wa muda (timeline) unaopata unaonekana kama ule wa matunzio ya simu. PhotoPrism hupanga maktaba ya picha uliyo nayo tayari: hufanya index ya folda za faili kwenye diski, husoma metadata zake, huziweka kwenye ramani, na kuziacha faili hizo mahali zilipokuwa.
Chagua Immich ikiwa tatizo ni "simu yangu imejaa na nataka kuacha kutumia Google Photos". Chagua PhotoPrism ikiwa tatizo ni "nina GB 400 za picha kwenye diski na siwezi kupata chochote ndani yake". Zote ni open source, zote huendeshwa kama Docker containers kwenye VPS ya kawaida, na zote hufanya index na kutafuta kwenye maktaba yako bila kutuma chochote kwa wahusika wengine.
Mgawanyiko wa falsafa, na kwa nini unaamua kila kitu
Immich inamiliki faili. Unaielekeza kwenye eneo la kupakia, programu ya simu au kipakiaji cha wavuti hutuma faili asilia, na Immich huzihifadhi chini ya njia yake yenyewe kwa kutumia mfumo wake wa majina. Hifadhidata ndiyo inayoshikilia ukweli kuhusu albamu, nyuso na utafutaji. Usanifu huo ndio unaofanya matumizi ya simu kuwa mazuri, kwa sababu seva daima inajua hali kamili ya kila rasilimali.
PhotoPrism inasoma faili. Unapachika (mount) folda ya originals ambayo tayari unaitawala, na PhotoPrism hujenga index juu yake. Mti wako wa saraka unabaki kuwa wako. Ukiondoa PhotoPrism kesho, picha zitabaki hapo hapo kwenye folda zilezile zenye majina yaleyale, na PhotoPrism itakuwa imeandika faili za pembeni za YAML karibu nazo zikielezea kile ilichojifunza.
Tofauti hiyo moja inaelezea sehemu kubwa ya mambo mengine. Immich ina usaidizi thabiti wa simu kwa sababu inadhibiti uingizaji wa data. PhotoPrism ina usimamizi thabiti wa maktaba kwa sababu haigombani na muundo wako uliopo. Immich ni jibu bora kwa familia ambayo picha zake zipo kwenye simu. PhotoPrism ni jibu bora kwa kumbukumbu iliyopo kwenye diski.
Mahitaji ya maunzi: Immich inahitaji zaidi
Viwango vya chini vya kumbukumbu vilivyoelezwa viko mbali sana, na kwenye VPS ndogo hii ndiyo sababu kuu ya maamuzi.
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 inaelekeza 6 GB ya RAM kama kiwango cha chini na 8 GB kama kiwango kinachopendekezwa, ikiwa na angalizo kwamba mashine ya 4 GB inaweza kuiendesha ikiwa tu machine learning imezimwa. PhotoPrism inaelekeza 3 GB ya kumbukumbu halisi na cores mbili za CPU, na inasema kiasi cha RAM kinapaswa kuendana na idadi ya cores.
Pengo hili ni la kweli, na linatokana na container ya machine learning. Immich huendesha mifano yake katika huduma tofauti ya immich-machine-learning inayopakia CLIP (contrastive language image pretraining) na mifano ya utambuzi wa nyuso kwenye kumbukumbu. Kwenye mashine ya 2 GB, kernel huua container hiyo, na utaiona ikisitisha kwa code 137, ambayo ndiyo namna Docker inavyoonyesha kuwa mchakato umeuawa kwa sababu ya kukosa kumbukumbu (out of memory). Mifano ya TensorFlow ya PhotoPrism ni midogo zaidi na hupunguza utendaji badala ya kufa: kwenye mashine zenye 1 GB au chini ya hapo, huzima ubadilishaji wa RAW na TensorFlow badala ya kuacha kufanya kazi.
Miradi yote miwili inahitaji swap. Nyaraka za PhotoPrism zinasema wazi kuhusu kuhitaji angalau 4 GB ya swap kwenye seva. Iongeze kabla ya kusakinisha mojawapo.
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 -hfree -h sasa inapaswa kuchapisha mstari wa Swap: unaoonyesha 4.0Gi. Ikiwa inachapisha 0B, basi swapon imeshindwa, kwa kawaida kwa sababu mfumo wa faili haukubali fallocate, na sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 ndiyo njia mbadala. Viwango vya juu vya kumbukumbu ya container ni muhimu hapa pia, na kuweka mipaka ya kumbukumbu katika Docker Compose ndiyo njia ya kuzuia huduma moja yenye njaa ya rasilimali kuangusha seva nzima.
Mahitaji mengine moja huwakanganya watu. Database ya Postgres ya Immich lazima ikae kwenye mfumo wa faili wa kawaida wa Unix wenye umiliki na ruhusa halisi, kwenye hifadhi ya ndani, na si kwenye network share. PhotoPrism inasema jambo lilelile kuhusu faili zake za database. Hakuna app kati ya hizi iliyo salama kuendeshwa huku database yake ikiwa kwenye mounted object store.
Jinsi ya kusakinisha kila moja
Usakinishaji wote unahusisha faili ya compose ya mtoa huduma na amri moja. Sanidi Docker Engine na Compose plugin kwanza, kama ilivyoelezwa katika mwongozo wetu wa Docker Compose kwenye VPS.
Immich huchapisha faili yake ya compose na mfano wa faili ya mazingira (environment file) katika kila release.
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.envHariri .env kabla ya kuanza jambo lolote. UPLOAD_LOCATION ndipo asilia zako zitakapohifadhiwa, na DB_PASSWORD lazima ibadilishwe kutoka ile ya awali kwa kutumia herufi A-Za-z0-9 pekee, kwa sababu herufi maalum huvunja muunganisho wa database. Kisha ianzishe.
docker compose up -d
docker compose psKiolesura cha wavuti hujibu kwenye port 2283. Akaunti ya kwanza kusajiliwa kupitia ukurasa huo inakuwa msimamizi (administrator), hivyo ifikie na ujisajili mara moja badala ya kuacha instance wazi kwenye Internet.
PhotoPrism husafirisha faili moja ya compose ambayo tayari inajumuisha MariaDB.
sudo mkdir -p /opt/photoprism && cd /opt/photoprism
wget https://dl.photoprism.app/docker/compose.yamlFungua compose.yaml na ubadilishe PHOTOPRISM_ADMIN_PASSWORD kabla ya kuanza kwa mara ya kwanza. Nyaraka ziko wazi kuhusu hili: programu huanza na nenosiri lolote la awali lililopo kwenye faili hiyo, urefu wa chini ni herufi 8, na thamani ya awali haipaswi kamwe kutumiwa kwenye seva ya umma. Weka volume ya originals kwenye folda inayohifadhi picha zako wakati huo huo.
docker compose up -d
docker compose logs -f photoprismPhotoPrism hujibu kwenye port 2342 na mtumiaji admin. Hakuna programu kati ya hizi inayopaswa kufichuliwa moja kwa moja. Weka reverse proxy yenye TLS (transport layer security) mbele yake, kwa mtindo uleule wa usanidi uliotumika kwa Nextcloud inayojiendesha yenyewe kwa kutumia Docker, TLS na backups.
Ni ipi ina app bora ya simu
Hapa ndipo miradi hii miwili inapotofautiana zaidi, na ndiyo sababu watu wengi huishia kutumia Immich.
Immich inatoa apps rasmi kwa ajili ya Android na iOS. Apps hizi hufanya backup ya picha kutoka kwenye simu kwa nyuma (background), kumaanisha kuwa picha mpya huondoka kwenye simu bila mtumiaji kufungua chochote. App hii inahitaji HTTPS endpoint, kwa hivyo reverse proxy si ya hiari ikiwa unapanga kuitumia ukiwa nje ya nyumba.
PhotoPrism haina app rasmi ya asili (native app). Inatoa progressive web app, ambayo unaiongeza kwenye skrini ya nyumbani (home screen) kupitia kivinjari, na inaelekeza WebDAV (web distributed authoring and versioning) kama njia ya kusawazisha (sync) data kutoka kwenye simu. Mradi huu unapendekeza app ya wahusika wengine inayoitwa PhotoSync kwa kazi hii, ikielekezwa kwenye saraka ya /import/ au /originals/ kupitia WebDAV. Inafanya kazi, na ni app ya kulipia ya wahusika wengine inayofanya kazi ambayo Immich inafanya ndani ya client yake yenyewe.
Ikiwa hitaji ni backup ya kiotomatiki ya simu kwa wanafamilia kadhaa, basi jibu ni moja. Immich.
Yale ambayo machine learning hukupa kwa hakika
Immich hufanya utafutaji wa kisemantiki (semantic search) kwenye maktaba yako kwa kutumia CLIP, hivyo swali kama "baiskeli nyekundu kwenye theluji" hupata picha ambazo hazijawahi kuwekewa tag na mtu yeyote. Pia hufanya utambuzi wa nyuso (face detection) na kuzipanga katika makundi, pamoja na kutambua picha zinazojirudia (duplicate detection). Kuorodhesha (indexing) mkusanyiko mkubwa wa picha kwa kutumia CPU huchukua saa kadhaa nyuma ya pazia, jambo ambalo ni la kawaida na halihitaji GPU (graphics processing unit).
PhotoPrism huainisha picha kwa kutumia TensorFlow katika lebo mbalimbali, hutambua nyuso na kuzipanga katika makundi ya watu, na kusoma metadata ya eneo ili kujenga ramani ya maeneo. Ramani ndiyo kipengele ambacho watu hukivutia zaidi: maktaba iliyoorodheshwa kulingana na mahali tukio lilipotokea ni njia tofauti kabisa ya kuvinjari picha za miaka ishirini. Utambuzi wa nyuso umejumuishwa katika toleo la bure la Community. Uanachama wa Essentials na Plus unaolipiwa huongeza vitu vya ziada kama tabaka za ramani zenye maelezo zaidi, majukumu zaidi ya watumiaji na kiolesura cha usimamizi wa watumiaji, kuanzia euro chache kwa mwezi kuanzia Julai 2026.
Immich ni bure kabisa bila ngazi ya malipo. Msingi wa PhotoPrism ni bure, na kuna nyongeza za hiari zinazolipiwa.
Backup huamua kama utahifadhi data zako
Seva ya picha isiyo na backup iko hatarini kupoteza kila kitu cha familia endapo diski itaharibika. Programu zote mbili zinahitaji backups mbili: database, na faili zenyewe.
Kwa Immich, toa dump ya database kutoka kwenye container ya Postgres na unakili eneo la upload.
docker exec -t immich_postgres pg_dump --clean --if-exists --dbname=immich --username=postgres | gzip > /backup/immich-db.sql.gzKisha fanya backup ya UPLOAD_LOCATION. Folda zenye data zisizoweza kubadilishwa ni upload, library na profile. Folda za thumbs na encoded-video zinaweza kutengenezwa upya, ingawa itachukua saa nyingi za CPU. Database dump pekee hairejeshi chochote, kwa sababu ina metadata pekee.
Kwa PhotoPrism, index ina amri yake maalum.
docker compose exec photoprism photoprism backup -i -fHiyo huandika SQL dump ndani ya storage/backup/. Kisha unakili folda ya originals na folda ya storage. Kwa sababu PhotoPrism pia huandika faili za sidecar YAML zinazoelezea kila picha, index iliyopotea inaweza kujengwa upya kutoka kwenye faili pekee, jambo ambalo ni faida kubwa kwa kumbukumbu unayopanga kuhifadhi kwa miongo kadhaa.
Chaguo lolote utakalochukua, tuma backups hizo nje ya seva kwa ratiba ukitumia backups zilizosimbwa na kufanyiwa deduplication kupitia restic kwenda kwenye hifadhi ya mbali. Backup inayokaa kwenye diski moja na library si backup.
Ni ipi unapaswa kuiendesha
Endesha Immich ikiwa picha zako ziko kwenye simu, ikiwa zaidi ya mtu mmoja anahitaji kuhifadhi nakala ya picha za simu (camera roll), na ikiwa unaweza kuipa seva yako 6 GB ya RAM au zaidi. Hii ndiyo programu inayokaribiana zaidi na Google Photos unayoweza kujiendeshea mwenyewe, na matumizi ya simu ndiyo lengo kuu. Mwongozo wetu wa hatua kwa hatua wa kusakinisha Immich unaelezea kwa kina kuhusu matatizo ya kumbukumbu na mitego ya kuboresha toleo (upgrade).
Endesha PhotoPrism ikiwa tayari una mkusanyiko wa picha kwenye diski, ikiwa unajali ramani na metadata na kutunza muundo wako wa folda, au ikiwa VPS yako ina 4 GB ya RAM na ungependa kuwa na maktaba inayofanya kazi badala ya inayotumia swap memory. Hii ni zana bora zaidi ya kupanga picha na ni rafiki zaidi kwa vifaa vyenye uwezo mdogo.
Kuendesha zote mbili pia ni jambo linalofaa. Immich inashughulikia uingizaji wa picha za kila siku kutoka kwenye simu, na mara moja kwa mwaka unachagua picha unazotaka kuzihifadhi kwenye kumbukumbu yako na kuiacha PhotoPrism iziainishe. Hazigongani, kwa sababu PhotoPrism inasoma folda wakati Immich inamiliki folda zake yenyewe.
FAQ
Je, PhotoPrism na Immich zinaweza kutumia folda moja ya picha?
Si kwa usalama katika pande zote mbili. PhotoPrism husoma folda ya originals na kuandika faili za sidecar YAML karibu na picha zako, wakati Immich inatarajia kumiliki yaliyomo kwenye eneo lake la kupakia. Unaweza kuelekeza PhotoPrism kwenye nakala ya kusoma-pekee (read-only) ya folda ya library ya Immich ili kuvinjari, lakini usiruhusu programu zote mbili kudhibiti faili zilezile, kwa sababu templeti ya hifadhi ya Immich inaweza kuhamisha au kubadili majina ya faili wakati PhotoPrism inapofanya indexing.
Je, Immich ni thabiti vya kutosha kuhifadhi nakala pekee ya picha zangu?
Hakuna programu ya self-hosted inayopaswa kuhifadhi nakala pekee ya kitu chochote. Immich hutoa mabadiliko makubwa (breaking changes) mara kwa mara, na docker compose pull isiyo makini inaweza kusababisha database kushindwa kuanza, kwa hivyo funga (pin) toleo lako na usome maelezo ya toleo (release notes) kabla ya kufanya upgrade. Weka nakala za faili asilia nje ya seva na hatari itabaki ndogo.
Kwa nini container ya machine learning ya Immich inajiwasha upya mara kwa mara?
Inafungwa (killed) kwa sababu ya kutumia kumbukumbu (memory) nyingi mno. Endesha docker compose ps na utafute huduma ya machine learning inayotoka (exiting) na code 137, ambayo ni ishara ya kernel out of memory killer. Ongeza swap, au ipe container kikomo cha kumbukumbu ili ipunguziwe kasi badala ya kufungwa, au zima machine learning kabisa kwenye mashine ya 4 GB. Utafutaji utaacha kufanya kazi bila hiyo, lakini sehemu nyingine ya Immich itaendelea kufanya kazi vizuri.
Je, PhotoPrism inahitaji MariaDB, au SQLite inatosha?
SQLite inafanya kazi na inafaa kwa maktaba ya kibinafsi, lakini PhotoPrism hujiwekea kikomo cha wafanyakazi (workers) wanne inapotumia SQLite, na nyaraka zinapendekeza kutumia MariaDB kwa sababu inashughulikia concurrency ya juu vizuri zaidi. Faili ya compose inayokuja na mradi huu tayari inajumuisha MariaDB, kwa hivyo njia inayopendekezwa ndiyo chaguo-msingi.
Ni nafasi ngapi ya diski ninayopaswa kutenga zaidi ya ukubwa wa maktaba yangu?
Ongeza asilimia 10 hadi 20 juu ya ukubwa wa faili zako asilia, kwa programu yoyote kati ya hizo mbili. Hiyo inatosha kwa thumbnails zinazozalishwa na hakiki za video zilizobadilishwa umbizo (transcoded). Mkusanyiko wa 200 GB unahitaji takriban 300 GB ya volume pindi unapozingatia nafasi ya database, nakala ya chelezo ya ndani (local backup), na ukuaji wa baadaye.