兩個開源自架(self-hosted)的圖片管理方案的比較。
你想要多無腦的照片相簿管理?
複雜,還是簡潔?
請先閱讀:
他們都是管理圖片的好工具,用途略有不同。我知道還有其他自架相簿方案,參考Free and OpenSource Photo Libraries Comparison,可是目前就我所知,他們是功能最多的了。
跑了這兩個服務後,我在想哪個的管理照片方法比較好。
我想管理的是一般照片+色圖+梗圖+短影片的混合式內容。想要嘗試全部整合在一個軟體呀。
老實說吧,我以前用Google相簿的時候,採取的是將一般照片+色圖+梗圖+短影片全部都丟上去的策略。圖的就是一個方便嘛,所有資源集中在一處,唾手可得,我幾乎不使用資料夾分類。利用Google的AI自動整理,不論什麼內容都parse一遍(AI:殺了我吧),這樣我日後再進行搜尋,多方便。例如,我只要打「紫色」,所有圖片帶有紫色元素的花朵、衣服、文字的圖片就會跑出來,主打的就是一個智慧。我認為這正是Google相簿成功的地方。
不過嘛,你知道的,Google相簿對一些東西很敏感的,AI很容易就抓得到你,所以其實不適合放太過激的色圖,搞self-hosted比較安全。那麼,套用到現今的self-hosted使用情景,假設要同時管理一般照片+色圖+梗圖+短影片,我應該用Hydrus Network還是Immich管理我的東西呢?哪個方案,適合以年為單位的長期使用?
兩個方案的定位差異#
Hydrus Network功能比Immich多得多,自稱archive manager,它不只是圖片管理器,更是一個封存各種檔案的管理器。什麼類型的檔案都能丟進去,舉凡圖片、影片、文件、電子書、音樂、壓縮檔,什麼都難不倒它。提供複雜的標籤系統,能夠用評分或星星來區分,創造你自己的資料庫圖書館。搜尋檔案的時候除了標籤,還可以依照觀看次數、檔案類型、長寬高、大小、RGB顏色下去搜尋。並有將自身變為檔案分享伺服器的功能。
Immich就只是個相簿。
環繞在圖片相關的選項,包括EXIF資訊,以及透過AI強化搜尋場景和人臉。整理照片主要依賴鬆散的「相簿」機制。
可,我主要要處理的檔案很簡單,就是照片和影片而已。其他類型的檔案都有對應的self-hosted服務去處理,例如影片有Jellyfin或Stash,音樂有Navidrome,漫畫有Komga或LANraragi,文件有Nextcloud或Paperless。Hydrus Network不該越俎代庖。
AI自動上標籤,很重要#
Hydrus Network支援namespace:tags形式,Immich僅支援基本的標籤系統。
Hydrus Network很大程度需要使用者手動管理標籤,我不是很滿意這個操作模式。我看起來像圖書館管理員,有那麼多時間手動打標籤刷條碼嗎!?
我希望Hydrus Network能有一些AI介入,像Immich幫使用者自動挑照片,自動打標籤方便搜尋。
目前Hydrus Network作者還無意實現這個功能,社群也沒有人製作外掛。
儘管有Hydrus Network自動打標籤的服務,那也是社群分享的,或者需要進行複雜的設定程序,不能由AI生成。
我主要要存放的檔案很簡單,就是照片和影片而已。其他類型的檔案都有對應的self-hosted服務去處理。
那麼,照片應該在上傳後即忘記,全部給AI自動整理才是。Immich使用的開源CLIP與OCR模型在自動化整理方面很在行。它讓使用者能夠以自然語言下去搜尋照片的內容。
Immich的標籤系統問題在於,Immich支援基本的標籤系統,可以手動添加,也能從照片的EXIF讀取,但是AI生成的標籤不會出現在這裡。你無法像Hydrus Network一樣建立自己的龐雜標籤系統。只能透過手動寫註解文本的方式增加日後搜尋的便利度。
資料庫結構,日後遷移與整理的難度#
Hydrus Network有一個問題,所有的檔案都要手動上傳,然後進入到它的資料庫。他的資料庫結構目錄是隨機英數組合,我最近才知道這種叫做hash-based directory sharding,為的是增加讀寫效能。
可是,資料庫結構完全依照Hydrus,這樣日後要遷移資料到其他服務很是困擾。
相較之下,Immich可以用storage template的方式強制規定上傳後檔案資料夾儲存的結構,以年月日結構儲存,以日期分類圖片好多了。並且每個帳號都有自己的資料夾,一目了然。
也可以讓Immich讀取外部事先整理好的資料夾結構,不用手動上傳。
Immich的網頁還提供資料夾模式檢視檔案。
界面設計,現代嗎,直覺嗎#
Hydrus Network主要界面是QT寫的桌面客戶端,老實說真的很醜。且難以跨平台。雖有第三方開發的Hydrus Web,但界面還是不夠好。
Immich界面很現代,主要以網頁原生的操作模式,免除了跨平台的操作困擾。
整理難易度,直覺嗎?我希望不要太煩惱照片在硬碟上目錄的存在方式,全部都在軟體端整理就好了。
Immich和Hydrus Network都能做到這點,Immich要整理就得用「相簿」,Hydrus Network全部靠標籤。
但正如我上面說的,Immich資料庫結構的模式是可以控制的,比Hydrus Network安心。
社群支援度,未來長期考量#
開源專案最怕就是開發者跑路,然後陷入無止境的fork戰爭。
Immich的Github很明顯較多人關注,畢竟自架相簿是一個很吸引人的產品。經過幾年發展,開發團隊從最初的一個人變成了有全職工程師協助,確保程式品質。還推出贊助計畫,讓這個專案能繼續走下去。參照Roadmap
Hydrus Network的Github雖然同樣有一定人氣,可是產品定位太複雜,但開發人員好像都是一些…nerd?作者本身匿名,官方文件連大小寫都不規範。每週不固定時間會釋出一個新版本,穩定度不保證。
結論#
這樣思考下來,我覺得Hydrus Network似乎沒有Immich靠譜。決定將Hydrus Network一部分內容遷移到Immich試試。
現階段,為免互相污染版面,嗯哼,我不想在向外展示Immich相簿的時候看到時間軸混入色圖,我用Immich的多重帳號功能,在一個Immich伺服器上開兩個帳號,一個放正常照片,另外一個放雜七雜八的色圖與梗圖。
如果真的需要謹慎的建立搜尋資料庫體系,那還是Hydrus Network好。