实战-docker方式部署个人私有云相册-PhotoPrism-2023.12.10-测试成功

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

目录

需求

目前为止:

自己的博客、知识库、图床、本地笔记解决方案已完全实现;

但相册功能还未实现,因为相册承载了一个人的回忆哇,但qq相册会压缩原图,百度云盘相册又不能很友好地对方提供访问服务,且基于数据完全可控原则,这里自己开始利用docker搭建自己的相册。

自己相册需求:

  • 需要分享的相册;(风景照、动物照、家人、自己、那份爱恋……)
  • 可以对相册加密,输入面后才可以访问;
  • docker方式部署;(那么我可以很方便地对相册源数据进行备份)
  • 需要计算资源比较小;
  • 希望相册可以支持对本地目录里的照片进行扫描;(这样也方方便数据迁移)
  • 另外,我希望用户只读,但不可以上传照片,或不可以下载照片,及对照片的权限可以做到细粒度的控制。

也就是要实现一个电子相册功能;

前提环境

  1. 具备docker环境

    https://onedayxyy.cn/docs/centos-docker-online-install

  2. 具备docker-compose环境

    https://onedayxyy.cn/docs/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
提取码:ndw6
2023.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]# 

验证:

http://onedayxyy.cn:2342/

注意:这里的数据是不会丢失的哦,因为使用了本地路径作为卷,并且这个卷被挂载到容器内部。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

完美,符合预期。😘

2、测试

打开自己配置的地址http://localhost:2342/

就会出现登录界面,用户名和密码就是配置文件中的。

http://47.100.215.163: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。

image-20230107215114763

🍀 微信公众号
《云原生架构师实战》

image-20230107215126971

🍀 个人博客站点

http://onedayxyy.cn/

🍀 语雀

https://www.yuque.com/xyy-onlyone

🍀 csdn

https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421

image-20230107215149885

🍀 知乎

https://www.zhihu.com/people/foryouone

image-20230107215203185

最后

好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐