利用photoprism搭建私有云相册
文章目錄
- 一、背景
- 二、準備工作
- 2.1 硬件環境準備
- 2.2 軟件環境
- 2.3 yml準備
- 三、正式操作
- 3.1 將yml文件上傳至服務器
- 3.2 運行docker-compose
- 3.3 解決首次啟動報錯
- 3.4 更新到開發預覽版(可選)
- 3.5 建立索引
- 四、常用命令
一、背景
之前通過icloudpd已經實現了iPhone照片自動備份到NAS上,接下來該如何對NAS上存儲的大量照片進行分類規整,并且可以隨時隨地很方便的查詢與查看呢?
這次給大家介紹一個非常優秀的非常優秀的項目photoprism,它官方宣傳語是:Browse Your Life in Pictures(用照片瀏覽你的生活)。使用了一段時間,類似google相冊,功能基本比較全了,AI人臉識別與分類,打標簽,日期,地圖查看模式,業務體驗還是比較滿意的。
至于隱私問題,大家可以放心,這是github上一個開源的項目,所有人都可以查看它的源代碼,所以不存在任何后門的問題,部署在自己的設備上,也更加安心。
我的部署方案依然是在軟路由OpenWrt下,使用docker容器部署。
官網:https://docs.photoprism.app
GitHub源碼:https://github.com/photoprism/photoprism添加鏈接描述
二、準備工作
2.1 硬件環境準備
官方推薦程序運行在具有 2 個內核、3 GB 物理內存、1 個和 64 位操作系統的服務器上。且交換空間不少于4GB。
但我的環境就是J4125物理機上PVE虛擬出來的OpenWrt,分配了4核,3G內存。
2.2 軟件環境
OpenWrt(宿主系統)、docker、docker-compose
2.3 yml準備
下載官網提供的模板:
https://dl.photoprism.app/docker/docker-compose.yml
根據需要自行修改里面的參數,私有部署的話,初始和數據庫密碼可以用默認的,或者改成你自己的認為安全的密碼,但PHOTOPRISM_DATABASE_PASSWORD值MYSQL_PASSWORD一定要相同。
重點是修改volumes掛載參數,冒號前面是你的宿主系統絕對目錄,冒號后面是photoprism鏡像中的目錄,例如我的掛載配置如下:
三、正式操作
3.1 將yml文件上傳至服務器
將- "/mnt/sda5/database:/var/lib/mysql"上傳至OpenWrt系統,我放到了/mnt/sdb5目錄下。
3.2 運行docker-compose
使用cd /mnt/sda5命令進入存放yml文件的目錄,然后使用如下命令運行docker-compose,此命令會自動拉取,并啟動鏡像:
docker-compose up -d3.3 解決首次啟動報錯
看報錯是網絡錯誤,這是因為容器默認生成的網卡名,在宿主機的docker0網卡中沒有寫入相關的連接信息,需要運行/etc/init.d/dockerd restart,重新啟動docker后,網絡就可以連接成功,再運行docker-compose up -d
root@OpenWrt:~# docker-compose up -d [+] Running 20/20_ photoprism Pulled 180.8s_ f7a1c6dad281 Pull complete 14.9s_ b377614b0f06 Pull complete 15.0s_ 0c2c940e9554 Pull complete 15.1s_ e9b5c0bf6a18 Pull complete 138.1s_ ac1a42218ddd Pull complete 138.2s_ 282a9f48d157 Pull complete 153.8s_ 5f5b0580fa21 Pull complete 154.2s_ mariadb Pulled 123.5s_ e0b25ef51634 Pull complete 26.3s_ 8aa3f605beb6 Pull complete 26.4s_ c43298fa9eba Pull complete 29.9s_ f565e2a61005 Pull complete 34.8s_ 3b5a73a7467f Pull complete 37.0s_ d219b4dd5889 Pull complete 42.3s_ 008719f0a8ad Pull complete 44.4s_ aaeae3f278f1 Pull complete 46.7s_ 70478b6487c6 Pull complete 96.0s_ 3737f687ab8c Pull complete 96.2s_ 380823a8f0a6 Pull complete 96.2s [+] Running 0/0_ Network root_default Error 0.0s failed to create network root_default: Error response from daemon: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-033ca13fda8b -j RETURN: iptables: No chain/target/match by that name.(exit status 1)) root@OpenWrt:~# /etc/init.d/dockerd restart root@OpenWrt:~# ls docker-compose.yml icloudpddjz_config icloudpdxdx_config root@OpenWrt:~# docker-compose up -d [+] Running 3/3_ Network root_default Created 0.1s_ Container root-mariadb-1 Started 0.9s_ Container root-photoprism-1 Started 1.6s啟動后,打開ip:2342,使用默認的admin/insecure登錄,登錄后,在setting中可以修改成中文。
3.4 更新到開發預覽版(可選)
我發現使用latest鏡像有個問題,就是遇到文件夾是中文目錄的時候,如果文件夾名字過長,會無法讀取到這個文件夾下的照片,這對使用影響是非常大的,通過git issues查詢得知,開發預覽版修復了這個問題。
更新到開發預覽版的官方描述方法如下:
You can test upcoming features and improvements by changing the image from photoprism/photoprism:latest to photoprism/photoprism:preview in your docker-compose.yml. Then pull the most recent image and restart your instance.
釋意:
你可以通過在docker-compose.yml文件中,把鏡像從latest修改成preview,然后pull,再重啟你的實例,來測試新的功能特性。
3.5 建立索引
登錄到photoprism后,系統是不會自動建立索引的,需要在界面"庫"功能中,手動啟動索引,或在后臺運行索引命令。
四、常用命令
需要注意的是,docker-compose命令必須在docker-compose.yml文件所在目錄下運行,否則無法執行。
啟動服務 docker-compose up -d
停止服務 docker-compose stop
下載更新 docker-compose pull
卸載 docker-compose rm -s -v
查看日志 docker-compose logs --tail=100 -f
顯示配置值 docker-compose exec photoprism photoprism config
重復失敗的遷移 docker-compose exec photoprism photoprism migrations run --failed
重置數據庫 docker-compose exec photoprism photoprism reset
備份數據庫 docker-compose exec photoprism photoprism backup -a -i
恢復數據庫 docker-compose exec photoprism photoprism restore -a -i
更改管理員密碼 docker-compose exec photoprism photoprism passwd
顯示用戶管理命令 docker-compose exec photoprism photoprism users help
顯示面部識別命令 docker-compose exec photoprism photoprism faces help
索引面 docker-compose exec photoprism photoprism faces index
重置人物和面孔 docker-compose exec photoprism photoprism faces reset -f
將視頻轉碼為AVC docker-compose exec photoprism photoprism convert
重新生成縮略圖 docker-compose exec photoprism photoprism thumbs -f
更新索引 docker-compose exec photoprism photoprism index --cleanup
導入文件 docker-compose exec photoprism photoprism import [path]
重新掃描所有原件,包括已編入索引和未更改的文件。在重大升級之后,這可能是必要的。docker-compose exec photoprism photoprism index -f
總結
以上是生活随笔為你收集整理的利用photoprism搭建私有云相册的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 抖音表情包项目怎么变现?普通人如何制作表
- 下一篇: 文献解读|苍术属植物叶绿体基因组变异及系