更新于:2023年12月11日
实战-docker方式部署个人私有云相册-PhotoPrism-2023.12.10-测试成功
目录
[toc]
原文链接
https://onedayxyy.cn/docs/PhotoPrism-install
需求
目前为止:
自己的博客、知识库、图床、本地笔记解决方案已完全实现;
但相册功能还未实现,因为相册承载了一个人的回忆哇,但qq相册会压缩原图,百度云盘相册又不能很友好地对方提供访问服务,且基于数据完全可控原则,这里自己开始利用docker搭建自己的相册。
自己相册需求:
- 需要分享的相册;(风景照、动物照、家人、自己、那份爱恋……)
- 可以对相册加密,输入面后才可以访问;
- docker方式部署;(那么我可以很方便地对相册源数据进行备份)
- 需要计算资源比较小;
- 希望相册可以支持对本地目录里的照片进行扫描;(这样也方方便数据迁移)
- 另外,我希望用户只读,但不可以上传照片,或不可以下载照片,及对照片的权限可以做到细粒度的控制。
也就是要实现一个电子相册功能;
前提环境
具备docker环境
具备docker-compose环境
环境
- 实验环境
ecs
docker-comose v2.23.0
docker-ce v19.03.9
photoprism镜像:
mariadb:10.11
photoprism/photoprism:latest
- 实验软件
链接:https://pan.baidu.com/s/10TGERm-L2fzeM35HhBxyjQ?pwd=ndw6
提取码:ndw62023.12.10-PhotoPrism部署
1、部署
- 创建一个文件夹
mkdir /home/photoprism
cd /home/photoprism
mkdir photos #/home/photoprism/photos
- 下载配置文件
wget https://dl.photoprism.app/docker/docker-compose.yml
- 修改配置文件
修改前内容:
……
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # server URL in the format "http(s)://domain.name(:port)/(path)"
……
- "~/Pictures:/photoprism/originals" # Original media files (DO NOT REMOVE)
……
修改后内容:
#需要注意配置文件中这两个地方,其他用默认就行
....
#这里改为自己服务器的域名或者不修改,端口号最好别改维持默认就行,这里填ecs ip/loalhost/域名都行的
PHOTOPRISM_SITE_URL: "http://localhost:2342/"
......
#这里的前面路径改为自己服务器上存放图片的位置
- "/home/photoprism/photos:/photoprism/originals"
......
- 启动
[root@hg-ecs2 photoprism]# pwd
/home/photoprism
[root@hg-ecs2 photoprism]# ls
database docker-compose.yml photos storage
[root@hg-ecs2 photoprism]# docker-compose up -d
##可以看到,启动成功
[root@hg-ecs2 photoprism]# docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
photoprism-mariadb-1 mariadb:10.11 "docker-entrypoint.s…" mariadb 2 hours ago Up 2 hours 3306/tcp
photoprism-photoprism-1 photoprism/photoprism:latest "/entrypoint.sh phot…" photoprism 2 hours ago Up 2 hours 0.0.0.0:2342->2342/tcp
[root@hg-ecs2 photoprism]#
==2023年12月11日更新:==
这里我重新更新docker-compose.yml里为域名:
[root@hg-ecs-docusaurus-wiki photoprism]# pwd
/home/photoprism
[root@hg-ecs-docusaurus-wiki photoprism]# ls
database docker-compose.yml photos storage
[root@hg-ecs-docusaurus-wiki photoprism]# vim docker-compose.yml
……
将
PHOTOPRISM_SITE_URL: "http://47.100.215.163:2342/"
替换为
PHOTOPRISM_SITE_URL: "http://onedayxyy.cn:2342/"
……
重启服务:
[root@hg-ecs-docusaurus-wiki photoprism]# docker-compose down
[+] Running 3/2
✔ Container photoprism-photoprism-1 Removed 0.9s
✔ Container photoprism-mariadb-1 Removed 0.8s
✔ Network photoprism_default Removed 0.0s
[root@hg-ecs-docusaurus-wiki photoprism]# docker-compose up -d
[+] Building 0.0s (0/0) docker:default
[+] Running 3/3
✔ Network photoprism_default Created 0.0s
✔ Container photoprism-mariadb-1 Started 0.0s
✔ Container photoprism-photoprism-1 Started 0.1s
[root@hg-ecs-docusaurus-wiki photoprism]# docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
photoprism-mariadb-1 mariadb:10.11 "docker-entrypoint.s…" mariadb 11 seconds ago Up 9 seconds 3306/tcp
photoprism-photoprism-1 photoprism/photoprism:latest "/entrypoint.sh phot…" photoprism 11 seconds ago Up 9 seconds 0.0.0.0:2342->2342/tcp
[root@hg-ecs-docusaurus-wiki photoprism]#
验证:
注意:这里的数据是不会丢失的哦,因为使用了本地路径作为卷,并且这个卷被挂载到容器内部。
完美,符合预期。😘
2、测试
打开自己配置的地址http://localhost:2342/
就会出现登录界面,用户名和密码就是配置文件中的。
登录后,修改语言:
至此就安装完成,可以愉快的使用了。
3、使用
使用自己的文件源。
使用自己的文件源好处是保留了原始的文件结构。
之前在配置文件中配置了自己文件路径,把自己的图片上传到``里面,然后在‘资料库’中建立索引,就完成了。
[root@hg-ecs2 photoprism]# pwd
/home/photoprism
[root@hg-ecs2 photoprism]# ls
database docker-compose.yml photos storage
[root@hg-ecs2 photoprism]# cd photos/
[root@hg-ecs2 photos]# ls
高圆圆-好看照片
[root@hg-ecs2 photos]# ls 高圆圆-好看照片/
2.png 3.jpg beauty.jpg image-20211125160712620.png img-16168908375660dd648385e62a648f8261c9f65fe8218.jpg
[root@hg-ecs2 photos]#
这样源文件还在原来的位置,photoPrism中只保留索引,方便后期备份,只需要保护好自己的的文件目录就行。(非常nice😘)
4、效果
- 最后,我把相册功能给添加到自己的博客站点上去了,完美
- 我们再来看下本次ecs配置大小
2c,2g,40G硬盘,ecs规格
总结
PhotoPrism方式搭建云相册最大优点:
使用自己的文件源好处是保留了原始的文件结构。
之前在配置文件中配置了自己文件路径,把自己的图片上传到``里面,然后在‘资料库’中建立索引,就完成了。
这样源文件还在原来的位置,photoPrism中只保留索引,方便后期备份,只需要保护好自己的的文件目录就行。(非常nice😘)
另外,刚体验了一会儿,PhotoPrism很不错;
且PhotoPrism已近有33.3k github star,远远超过其他同类型方案;
至于在使用过程里,是否会有一些问题,待后续观察,反正自己照片的元数据也会被自己的rsync服务给同步到百度网盘做好数据备份的,完美;
参考
https://blog.csdn.net/anwebDesigner/article/details/129861796
关于我
我的博客主旨:
- 排版美观,语言精炼;
- 文档即手册,步骤明细,拒绝埋坑,提供源码;
- 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!
🍀 微信二维码
x2675263825 (舍得), qq:2675263825。
🍀 微信公众号
《云原生架构师实战》
🍀 个人博客站点
🍀 语雀
https://www.yuque.com/xyy-onlyone
🍀 csdn
https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421
🍀 知乎
https://www.zhihu.com/people/foryouone
最后
好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!