PTT推薦

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

看板MobileComm標題[心得] 自架PhotoPrism 替代Google相簿作者
ivon852
(內容農場殺手)
時間推噓48 推:48 噓:0 →:33

Google相簿取消無限容量後,就一直在找替代方案。不只是因為無限容量沒了,還傳出各種掃描違法圖片就砍帳的新聞,曾試過有點對點加密的MEGA,但相簿功能普普,想來想去還是自架較好。

那麼就是買NAS了吧?非也,我想先利用現有的電腦。將相片儲存在硬碟,配合像Google相簿自動分類照片、臉孔辨識、AI上標籤的軟體。

那就是使用Docker跑PhotoPrism。PhotoPrism是開源免費的相簿軟體,大致能還原
Google相簿的七八成功能。

https://i.imgur.com/dSYYDZz.png

圖 自架PhotoPrism 替代Google相簿

雖說是開源軟體,但某些進階功能要donate才會告訴你如何開啟,否則開發團隊會跟你
說...
https://i.imgur.com/IC8Ekjd.png
圖 自架PhotoPrism 替代Google相簿

但一般版就夠用了。

那Docker是什麼呢。Docker是跨平台的容器技術,能用來跑各種伺服器服務,
Linux/Windows/MacOS都能架。而PhotoPrism主要用網頁端看相片,手機電腦皆可。

Linux電腦架設PhotoPrism過程:https://reurl.cc/DXjnA5


1. 主要功能

先來看看PhotoPrism主要功能,主頁面就跟Google相簿一樣總覽全部相片,版面會隨螢幕大小自動適應,所以手機用起來也很流暢。
https://i.imgur.com/vNghkLJ.jpg

圖 自架PhotoPrism 替代Google相簿

習慣用硬碟資料夾管理相片的,PhotoPrism亦支援以資料夾模式查看相片。
https://i.imgur.com/PHdAYgK.jpg
圖 自架PhotoPrism 替代Google相簿

有紀載位置的相片,會顯示在地圖上。(更精美的地圖要donate才有QQ)
https://i.imgur.com/65QUKVJ.png
圖 自架PhotoPrism 替代Google相簿

AI分類不可能像Google一樣精準,有時要自行給圖片加tag。
https://i.imgur.com/JUgapWZ.jpg
圖 自架PhotoPrism 替代Google相簿

人臉辨識準確率一般般。辨識出後自行加上人名。
https://i.imgur.com/3dZJr37.png
圖 自架PhotoPrism 替代Google相簿

跟Nextcloud比起來,PhotoPrism就是專精在相片分類業務上。使用Tensorflow進行AI演算,理論上能自行訓練模型。

至於影片,PhotoPrism會將影片轉檔成較小的格式加快播放,但播放器很陽春。串流影片還是交給"Jellyfin"吧!播起來比較流暢,串流時還能調畫質。


2. 上傳與備份相片的方式?

PhotoPrism支援以下二種方法新增相片:

1. 從硬碟新增,再讓PhotoPrism掃描變更
https://i.imgur.com/U7MYKRC.png

圖 自架PhotoPrism 替代Google相簿

2. 從網頁端上傳
https://i.imgur.com/WknF0Su.png
圖 自架PhotoPrism 替代Google相簿

要了解這二個方法的利弊,就要知道PhotoPrism的運作原理。假設硬碟有個資料夾叫做
Pictures,我們將它掛載到PhotoPrism容器的originals(這是處理相片的主目錄),
PhotoPrism就會開始處理,將相片轉檔成較小的格式寫入資料庫,變成網頁端看到的模樣,但不會修改硬碟中的原始相片。

https://i.imgur.com/yIqxidC.jpg

圖 自架PhotoPrism 替代Google相簿

所以將相片放到硬碟可保有資料夾的分類模式,同時又能讓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

圖 自架PhotoPrism 替代Google相簿

分享相簿則是會產生一條連結。但要注意一點,別人要有你的IP或域名才能存取
PhotoPrism的網址;用ZeroTier的話還得把對方加入ZeroTier網路才行。
https://i.imgur.com/uY29rVV.png
圖 自架PhotoPrism 替代Google相簿

PhotoPrism尚提供用WebDAV上傳的功能,類似SMB共享資料夾那樣,讓別人直接存取
originals資料夾內容。
https://i.imgur.com/SHO8jGa.png
圖 自架PhotoPrism 替代Google相簿


5. 結論

畢竟是私有雲端,PhotoPrism自用還美賣,跟別人共用就複雜點。

除PhotoPrism外還有很多功能更強的自架相簿服務,像Damselfly、Piwigo、LibrePhotos等等,按照需求自行選擇。

--
我一定是太閒才會發這種廢文。
https://i.imgur.com/kRCHaaH.png

圖 自架PhotoPrism 替代Google相簿

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.27.87.83 (臺灣)

※ 文章網址:
https://www.ptt.cc/MobileComm/M.1669530054.A.070

yys31011/27 14:25wow 抓地點跟人的功能都有嗎? 感覺太強了

pterion11/27 14:45推分享

Sarasto11/27 14:49大大你家IP需要碼嗎 還是那個是假的

那是ZeroTier給的虛擬區域IP

harry88690111/27 15:07我自己方式是租一個vps架設proxy再用nextcloud連上去

harry88690111/27 15:08IP又不是公網IP你也要加到他vpn裡面才能連

fujisawa11/27 15:25ZeroTier大多數環境不筆轉發埠也能建P2P tunnel吧

對,只要開電腦防火牆就夠了,所以才說比通訊埠轉發方便。

Ereinion989511/27 15:46大推

tennyleaz11/27 16:09搭配Cloudflare tunnel可以不需要公網IP

tennyleaz11/27 16:09或是VPN就可以外部存取

lkj12tw11/27 16:15推教學分享

vip12578537311/27 16:45

siegfriedlin11/27 17:10太神了 感謝您

MK4711/27 17:17感謝分享 看起來不錯用

romber11/27 17:24感謝好文

xylophone13511/27 17:32推一下 雖然我用S家內建的

hollen911/27 17:36如果和群輝內建的人臉辨識比 有比較準確嗎

Two411/27 17:36推~

dowbane11/27 17:39讚讚推

yasamnoya11/27 18:14

jyunwei11/27 18:28讚讚的

xgpwh11/27 18:31翠 危! XD

※ 編輯: ivon852 (114.27.87.83 臺灣), 11/27/2022 18:52:31

jasonaz11/27 19:08群輝的人臉很弱吧

blackguitar11/27 19:55推好文

joeboy11/27 20:16用docker建,看來簡單多了

watched11/27 20:22很用心給推

chenyuassa11/27 20:29

ja88121311/27 20:34用心推

JonDoe29711/27 20:51

ShibaTatsuya11/27 20:58推教學分享 這篇優文

nigelm8011/27 21:41推推

RODPoy9911/27 22:13推好文

a159789011/27 22:26

xru0311/27 22:34用心分享 推推推

lucas041211/27 22:56推詳細

Alllllogo11/28 01:35推分享心得,舊電腦需要找到出路

yurian11/28 06:13這些我也都研究過

yurian11/28 06:13但最後問題還是在算太慢 圖多點就……

對,一千張照片就要幾小時整理。聽說類似產品Damselfly能負荷更多圖片。

yurian11/28 06:13只是個人純簡單生活拍照就還勉強

chungkai11/28 06:30可以像G相簿,隨時雲端自動同步,不須手動備份嗎?

PhotoPrism沒有做APP應該沒辦法,官方也是叫你用PhotoSync來同步檔案到電腦

MusicD11/28 08:40感謝分享

※ 編輯: ivon852 (42.77.221.118 臺灣), 11/28/2022 08:44:36

yurian11/28 08:49可以利用別的方式來做雲端備份到你的伺服器裡的特定資料

yurian11/28 08:49

yurian11/28 08:49再讓相關的相簿圖像軟體來做處理

yurian11/28 08:49或者一開始就選nextcloud相容的軟件 可以直接用next clou

yurian11/28 08:49d的app

yurian11/28 08:50不過雖然docker已經簡易化很多了 但這些都還是要懂一些架

yurian11/28 08:50(站 伺服器 linux like 現在選擇很多)

yurian11/28 08:51不過最後考量實際的費用 時間 效果等

yurian11/28 08:51還是暫時考慮pixel1 會比較好lol

yurian11/28 08:51等被pixel1都死光了再說吧(畢竟這裡是手機版嘛xd

yurian11/28 08:53唯一的問題就是原po說的 現在google的使用者服務和誠信問

yurian11/28 08:53題 已經被法令凌駕 不是可以完全信賴了

yurian11/28 08:58Google最好用的還是自動集錦

yurian11/28 08:58小孩幾年前以來(連續幾年)的照片會不定時集錦提醒你去看

yurian11/28 08:58這些就算其他軟體做了人臉辨識也沒辦法達成這樣的目的

yurian11/28 08:58畢竟人臉辨識沒有這類運用基本上也主要就是一個擺設性的

yurian11/28 08:58功能而已

yurian11/28 08:58不過google要自斷一臂(資料最重要的一環是資料安全性)也

yurian11/28 08:58是沒辦法 只能期待這些開源/收費軟體將來更成熟

saspn0511/28 09:12推推

jamt11/28 09:48但這種東西沒辦法用在Android電視、Smart display、手機上的

jamt11/28 09:48螢幕保護、電子相框,簡單來說還是Google好

Makeinu11/28 10:04看來是效能可能會是瓶頸? 希望日後加入Coral TPU或GPU的

Makeinu11/28 10:04支援

justblackJ11/28 10:41pixel很容易掛而且無法維修

a0910bb11/28 11:13推推

Qaenamo11/28 12:26推分享

yurian11/28 12:28原則上有人寫app就行 搞不好有了

yurian11/28 12:29只是吃的都是你家的電 或是錢(租伺服器的話 但那上傳和運

yurian11/28 12:29算時間=$$很恐怖)

yurian11/28 12:30(回某樓tv,螢保的需求

jamt11/28 13:12樓上,不要什麼都想用app解決,smart display不能安裝app

yurian11/28 13:24沒在用老實說不知道那是啥 如果是綁定google的東西當然只

yurian11/28 13:24有本家可以用

yurian11/28 13:24但其他有些的是可以達成的

tom282f311/28 13:43推 感覺之後會用到

a2470abc11/28 14:37進階功能需要的就斗內一下吧 自架中這套是最有戲的了

a2470abc11/28 14:38不然source code都在 自己研究(X

Taichun31811/28 18:40

Xgaming780511/29 08:30

akumahirosi11/29 08:35推推