[心得] 自架PhotoPrism 替代Google相簿

作者: ivon852 (ASUS)   2022-11-27 14:20:34
Google相簿取消無限容量後,就一直在找替代方案。不只是因為無限容量沒了,還傳出各
種掃描違法圖片就砍帳的新聞,曾試過有點對點加密的MEGA,但相簿功能普普,想來想去
還是自架較好。
那麼就是買NAS了吧?非也,我想先利用現有的電腦。將相片儲存在硬碟,配合像Google
相簿自動分類照片、臉孔辨識、AI上標籤的軟體。
那就是使用Docker跑PhotoPrism。PhotoPrism是開源免費的相簿軟體,大致能還原
Google相簿的七八成功能。
https://i.imgur.com/dSYYDZz.png
雖說是開源軟體,但某些進階功能要donate才會告訴你如何開啟,否則開發團隊會跟你
說...
https://i.imgur.com/IC8Ekjd.png
但一般版就夠用了。
那Docker是什麼呢。Docker是跨平台的容器技術,能用來跑各種伺服器服務,
Linux/Windows/MacOS都能架。而PhotoPrism主要用網頁端看相片,手機電腦皆可。
Linux電腦架設PhotoPrism過程:https://reurl.cc/DXjnA5
1. 主要功能
先來看看PhotoPrism主要功能,主頁面就跟Google相簿一樣總覽全部相片,版面會隨螢幕
大小自動適應,所以手機用起來也很流暢。
https://i.imgur.com/vNghkLJ.jpg
習慣用硬碟資料夾管理相片的,PhotoPrism亦支援以資料夾模式查看相片。
https://i.imgur.com/PHdAYgK.jpg
有紀載位置的相片,會顯示在地圖上。(更精美的地圖要donate才有QQ)
https://i.imgur.com/65QUKVJ.png
AI分類不可能像Google一樣精準,有時要自行給圖片加tag。
https://i.imgur.com/JUgapWZ.jpg
人臉辨識準確率一般般。辨識出後自行加上人名。
https://i.imgur.com/3dZJr37.png
跟Nextcloud比起來,PhotoPrism就是專精在相片分類業務上。使用Tensorflow進行AI演
算,理論上能自行訓練模型。
至於影片,PhotoPrism會將影片轉檔成較小的格式加快播放,但播放器很陽春。串流影片
還是交給"Jellyfin"吧!播起來比較流暢,串流時還能調畫質。
2. 上傳與備份相片的方式?
PhotoPrism支援以下二種方法新增相片:
1. 從硬碟新增,再讓PhotoPrism掃描變更
https://i.imgur.com/U7MYKRC.png
2. 從網頁端上傳
https://i.imgur.com/WknF0Su.png
要了解這二個方法的利弊,就要知道PhotoPrism的運作原理。假設硬碟有個資料夾叫做
Pictures,我們將它掛載到PhotoPrism容器的originals(這是處理相片的主目錄),
PhotoPrism就會開始處理,將相片轉檔成較小的格式寫入資料庫,變成網頁端看到的模樣
,但不會修改硬碟中的原始相片。
https://i.imgur.com/yIqxidC.jpg
所以將相片放到硬碟可保有資料夾的分類模式,同時又能讓PhotoPrism全部掃描,豈不美
哉?
注意:PhotoPrism的「相簿」功能跟資料夾是不一樣的,相簿只有PhotoPrism網頁看得到
,而資料夾會維持硬碟上顯示的樣子。
那如果從網頁端上傳呢?PhotoPrism一律會放到originals資料夾,以拍攝日期建立資料
夾。例如foo.jpg是11/1拍攝的,它就會在originals資料夾建立「11」、「01」的資料夾
,再把相片檔案放進去。檔案總管能馬上在硬碟看到檔案。
由此可見,習慣用資料夾分類相片的人,還是採用方法一新增相片較好。你可以手動把檔
案傳到電腦,或是Syncthing這類軟體自動無線同步相片,板上有教學這裡就不贅述。
https://syncthing.net/
從PhotoPrism網頁端刪除相片,硬碟上的檔案也會刪除,反之亦然。
3. 如何從外部網路存取?
類似NAS的情況,從外部網路存取家中電腦有二種方法:
1. 通訊埠轉發+DDNS
2. ZeroTier內網穿透
使用Zerotier就不用去調整路由器,只要在手機和電腦開VPN連上ZeroTier網路就行了,
開防火牆開9993 UDP通訊埠做P2P速度更快。
在設定好ZeroTier後,就能用"虛擬電腦區域IP:2342"的網址開啟PhotoPrism頁面

至於安全性問題,謹記設定防火牆規則,關閉UPNP,使用強密碼等等。
4. 如何分享相片?
PhotoPrism分享相片的時候是使用「原始畫質」的相片。
PhtoPrism網頁端可直接下載相片,選取多個會變成壓縮檔。
https://i.imgur.com/sxZTbkO.png
分享相簿則是會產生一條連結。但要注意一點,別人要有你的IP或域名才能存取
PhotoPrism的網址;用ZeroTier的話還得把對方加入ZeroTier網路才行。
https://i.imgur.com/uY29rVV.png
PhotoPrism尚提供用WebDAV上傳的功能,類似SMB共享資料夾那樣,讓別人直接存取
originals資料夾內容。
https://i.imgur.com/SHO8jGa.png
5. 結論
畢竟是私有雲端,PhotoPrism自用還美賣,跟別人共用就複雜點。
除PhotoPrism外還有很多功能更強的自架相簿服務,像Damselfly、Piwigo、LibrePhotos
等等,按照需求自行選擇。
作者: yys310 (有水當思無水之苦)   2022-11-27 14:25:00
wow 抓地點跟人的功能都有嗎? 感覺太強了
作者: pterion ((★ ω ★))   2022-11-27 14:45:00
推分享
作者: Sarasto (我是魯蛇我驕傲)   2022-11-27 14:49:00
大大你家IP需要碼嗎 還是那個是假的
作者: harry886901 (風嵐)   2022-11-27 15:07:00
我自己方式是租一個vps架設proxy再用nextcloud連上去IP又不是公網IP你也要加到他vpn裡面才能連
作者: fujisawa (Feel the RUSH)   2022-11-27 15:25:00
ZeroTier大多數環境不筆轉發埠也能建P2P tunnel吧
作者: Ereinion9895 (k kyle)   2022-11-27 15:46:00
大推
作者: tennyleaz (tenny)   2022-11-27 16:09:00
搭配Cloudflare tunnel可以不需要公網IP或是VPN就可以外部存取
作者: lkj12tw   2022-11-27 16:15:00
推教學分享
作者: vip125785373 (XiaoNan)   2022-11-27 16:45:00
作者: siegfriedlin (齊格飛)   2022-11-27 17:10:00
太神了 感謝您
作者: MK47 (和牛第一)   2022-11-27 17:17:00
感謝分享 看起來不錯用
作者: romber (tako)   2022-11-27 17:24:00
感謝好文
作者: xylophone135 (赤い三月花雪夢)   2022-11-27 17:32:00
推一下 雖然我用S家內建的
作者: hollen9 (好冷酒)   2022-11-27 17:36:00
如果和群輝內建的人臉辨識比 有比較準確嗎
作者: Two4   2022-11-27 17:36:00
推~
作者: dowbane (咩咩背著羊丸丸)   2022-11-27 17:39:00
讚讚推
作者: yasamnoya (拎不拎不拎_吳拎)   2022-11-27 18:14:00
作者: jyunwei (jyunwei)   2022-11-27 18:28:00
讚讚的
作者: xgpwh (有人)   2022-11-27 18:31:00
翠 危! XD
作者: jasonaz (TW_Bear)   2022-11-27 19:08:00
群輝的人臉很弱吧
作者: blackguitar (黑色吉他)   2022-11-27 19:55:00
推好文
作者: joeboy (揪立)   2022-11-27 20:16:00
用docker建,看來簡單多了
作者: watched (哇取)   2022-11-27 20:22:00
很用心給推
作者: chenyuassa (Assa)   2022-11-27 20:29:00
作者: ja881213 (Theodore039)   2022-11-27 20:34:00
用心推
作者: JonDoe297 (JonDoe297)   2022-11-27 20:51:00
作者: ShibaTatsuya (司波達也)   2022-11-27 20:58:00
推教學分享 這篇優文
作者: nigelm80 (你看不見我)   2022-11-27 21:41:00
推推
作者: RODPoy99 (99)   2022-11-27 22:13:00
推好文
作者: a1597890 (瑋瑋)   2022-11-27 22:26:00
作者: xru03 (KCC)   2022-11-27 22:34:00
用心分享 推推推
作者: lucas0412 (阿魏)   2022-11-27 22:56:00
推詳細
作者: Alllllogo (algod)   2022-11-28 01:35:00
推分享心得,舊電腦需要找到出路
作者: yurian   2022-11-28 06:13:00
這些我也都研究過但最後問題還是在算太慢 圖多點就……只是個人純簡單生活拍照就還勉強
作者: chungkai (無情最是帝王家)   2022-11-28 06:30:00
可以像G相簿,隨時雲端自動同步,不須手動備份嗎?
作者: MusicD (音樂D)   2022-11-28 08:40:00
感謝分享
作者: yurian   2022-11-28 08:49:00
可以利用別的方式來做雲端備份到你的伺服器裡的特定資料夾再讓相關的相簿圖像軟體來做處理或者一開始就選nextcloud相容的軟件 可以直接用next cloud的app不過雖然docker已經簡易化很多了 但這些都還是要懂一些架(站 伺服器 linux like 現在選擇很多)不過最後考量實際的費用 時間 效果等還是暫時考慮pixel1 會比較好lol等被pixel1都死光了再說吧(畢竟這裡是手機版嘛xd唯一的問題就是原po說的 現在google的使用者服務和誠信問題 已經被法令凌駕 不是可以完全信賴了Google最好用的還是自動集錦小孩幾年前以來(連續幾年)的照片會不定時集錦提醒你去看這些就算其他軟體做了人臉辨識也沒辦法達成這樣的目的畢竟人臉辨識沒有這類運用基本上也主要就是一個擺設性的功能而已不過google要自斷一臂(資料最重要的一環是資料安全性)也是沒辦法 只能期待這些開源/收費軟體將來更成熟
作者: saspn05 (SHKMTIT)   2022-11-28 09:12:00
推推
作者: jamt   2022-11-28 09:48:00
但這種東西沒辦法用在Android電視、Smart display、手機上的螢幕保護、電子相框,簡單來說還是Google好
作者: Makeinu (Makeinu)   2022-11-28 10:04:00
看來是效能可能會是瓶頸? 希望日後加入Coral TPU或GPU的支援
作者: justblackJ (...)   2022-11-28 10:41:00
pixel很容易掛而且無法維修
作者: a0910bb (我不要取暱稱)   2022-11-28 11:13:00
推推
作者: Qaenamo   2022-11-28 12:26:00
推分享
作者: yurian   2022-11-28 12:28:00
原則上有人寫app就行 搞不好有了只是吃的都是你家的電 或是錢(租伺服器的話 但那上傳和運算時間=$$很恐怖)(回某樓tv,螢保的需求
作者: jamt   2022-11-28 13:12:00
樓上,不要什麼都想用app解決,smart display不能安裝app
作者: yurian   2022-11-28 13:24:00
沒在用老實說不知道那是啥 如果是綁定google的東西當然只有本家可以用但其他有些的是可以達成的
作者: tom282f3 (學妹戰士)   2022-11-28 13:43:00
推 感覺之後會用到
作者: a2470abc (D.F.)   2022-11-28 14:37:00
進階功能需要的就斗內一下吧 自架中這套是最有戲的了不然source code都在 自己研究(X
作者: Taichun318 (淡藍色的雙魚)   2022-11-28 18:40:00
作者: Xgaming7805 (腎人)   2022-11-29 08:30:00
作者: akumahirosi (前進青學!YES!!)   2022-11-29 08:35:00
推推
作者: manpower9   2022-12-01 00:19:00
作者: mrnegativetw (每天來點負能量)   2022-12-01 16:03:00
結論:好東西,但還是付錢買Google One比較實在

Links booklink

Contact Us: admin [ a t ] ucptt.com