利用photoprism搭建私有云相册 您所在的位置:网站首页 oss搭建相册 利用photoprism搭建私有云相册

利用photoprism搭建私有云相册

2024-06-30 19:45| 来源: 网络整理| 查看: 265

文章目录 一、背景二、准备工作2.1 硬件环境准备2.2 软件环境2.3 yml准备 三、正式操作3.1 将yml文件上传至服务器3.2 运行docker-compose3.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镜像中的目录,例如我的挂载配置如下:

- "/mnt/sdb1/back_photos:/photoprism/originals" #读取目录,例如你的照片存储在/mnt/sdb1/back_photos,就像我这这样一模一样的写,如果是别的目录,冒号前面就改成你实际的存储照片的目录 - "/mnt/sda5/storage:/photoprism/storage" #缩略图生成目录,这个一定要放到ssd硬盘并且一定要有足够大的存储空间,当照片多的时候,这个目录会非常大,实测5000张照片,大概占用9G左右 - "/mnt/sda5/database:/var/lib/mysql" #数据库目录,建议跟前面storage存储在同一个目录下 三、正式操作 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 -d 3.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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有