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

news2024/11/26 0:35:34

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

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

目录

文章目录

    • 实战-docker方式部署个人私有云相册-PhotoPrism-2023.12.10-测试成功
    • 目录
    • 需求
    • 前提环境
    • 环境
    • 1、部署
    • 2、测试
    • 3、使用
    • 4、效果
    • 总结
    • 参考
    • 关于我
    • 最后

需求

目前为止:

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

但相册功能还未实现,因为相册承载了一个人的回忆哇,但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

最后

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1301229.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【分布式】浅谈分布式事务及解决方案

目录 一、背景 1.1、本地事务的基本概念 1.2、本地事务的基本特性 1.3、为什么需要分布式事务? 二、分布式事务常见解决方案 2.1、两阶段提交(2PC) 2.1.1、2PC实现原理 准备阶段(Prepare phase) 提交阶段&…

Oracle-pl/sql developer客户端连接报错问题分析

问题一: 用户在windows电脑使用pl/sql developer客户端使用tns方式连接数据库时,出现ORA-12170 TNS连接超时报错 使用ezconnect方式连接可以成功 问题一分析: 首先,查看pl/sql developer软件的Oracle客户端配置configure-->preferences,确…

详细介绍下OP-TEE,以及TF-A与OP-TEE的关系

什么是OP-TEE OP-TEE(Open Portable Trusted Execution Environment)是一个开源的可信执行环境(TEE)框架,用于嵌入式系统中的安全应用程序执行。它提供了一种安全的执行环境,用于保护敏感数据和执行安全操…

JRT文件服务实现

网站与客户端打印和导出方面已经无大碍了,今天抽时间整整文件服务,文件服务设计可以查看下面连接。原理一样,代码会有些变化。 文件服务设计 首先实现文件服务的服务端,就是一个业务脚本,用来接收上传、移动和删除文件…

大华摄像头windows、linuxJavaSDK开发使用

文章目录 简介环境要求库加载问题及解决方法大华摄像头Java SDK,完成摄像头设备登录、视频录像目录结构windows 的c代码Linux的C代码项目结构 登录云台控制录像调用的接口注意码云地址 简介 本文档主要介绍 SDK 接口参考信息,包括主要功能、接口函数和回…

使用Git进行版本控制

参考:《Python编程从入门到实践》 前言1、安装、配置 Git1.1 在Linux系统中安装Git1.2 在OS X系统中安装Git1.3 在Windows系统中安装Git1.4 配置Git 2、创建项目3、忽略文件4、初始化仓库5、检查状态6、将文件加入到仓库中7、执行提交8、查看提交历史 前言 版本控制…

计算机毕业设计 SpringBoot的乐乐农产品销售系统 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

stu05-前端的几种常用开发工具

前端的开发工具有很多,可以说有几十种,包括记事本都可以作为前端的开发工具。下面推荐的是常用的几种前端开发工具。 1.DCloud HBuilder(轻量级) HBuilder是DCloud(数字天堂)推出的一款支持HTML5的web开发…

HCIP---RSTP/MSTP

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 STP协议虽然能够解决环路问题,但是收敛速度慢,影响了用户通信质量。IEEE于2001年发布的802.1w标准定义了快速生成树协议RSTP(Rapid Spanning-Tree Proto…

309. 买卖股票的最佳时机含冷冻期(leetcode) 动态规划思想

文章目录 前言一、题目分析二、算法原理1.状态表示2.状态转移方程3.初始化边界条件4.填表顺序5.返回值是什么 三、代码实现总结 前言 在本文章中,我们将要详细介绍一下Leetcode中买卖股票的最佳时机含冷冻期相关的内容,本题采用动态规划的思想解决 一、…

Android Studio Gradle下载慢解决方法

Android Studio Gradle下载慢解决方法 最近在练习模型部署,主要是在手机端部署,所以使用到了Android Studio,但是在创建项目的时候,一致在下载gradle,而且网速还很慢,不对,是极慢哪种&#xff0…

研表究明,文字的序顺并不定一能响影GPT-4读阅

深度学习自然语言处理 原创作者:yy 很多年前,你一定在互联网上看过这张图,展示了人脑能够阅读和理解打乱顺序的单词和句子!而最近东京大学的研究发现,大语言模型(LLMs) 尤其是 GPT-4&#xff0c…

【设计模式--创建型--原型模式】

设计模式--创建型--原型模式 原型模式概述结构实现结果 案例代码结果使用场景 扩展(深\浅克隆)浅克隆演示:结果:使用深克隆(利用对象流)结果 原型模式 概述 用一个已经创建的实例作为原型,通过…

【MySQL】MySQL库的操作

MySQL库的操作 一、创建数据库创建数据库案例字符集和校验规则校验规则对数据库的影响 二、操纵数据库1、查看数据库2、查看当前正在使用的数据库3、使用数据库4、显示创建语句5、数据库删除6、数据库的修改7、备份和恢复8、查看连接情况 一、创建数据库 创建数据库的语法如下…

使用python绘制现有彩票记录走势图

在数据分析和可视化的领域中,彩票走势图是一个经典的例子,它可以展示彩票数字随时间的出现频率和趋势。这里使用英国使用EuroMillions彩票的历史数据作为示例,使用Python和Matplotlib库来创建一个简单的走势图。可以在以下网站搜索.csv文件。…

基于SSM的剧本杀预约系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

Promise与async/await的简单介绍

在 JavaScript 中,处理异步操作一直是开发者们面临的挑战之一。传统的回调函数方式往往导致代码难以维护、可读性差、易产生回调地狱等问题。为了解决这些问题,出现了 Promise 和 Async/Await 这两种处理异步操作的方式。 一、异步产生问题示例 当我们…

6.4 U-boot 移植

一、ST 官方 U-boot 编译测试 1. ST 官方 uboot 源码打补丁 1.1 获得 ST 官方的 uboot 源码 https://www.cnblogs.com/toutiegongzhu/p/17578847.html 这里可以看如何下载uboot源码。解压完后输入以下命令: cd stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24/s…

什么是图片懒加载(image lazy loading)?它的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

区块链媒体宣发:揭示优势与趋势,引领信息传播新时代

在数字化潮流中,区块链技术正以惊人的速度改变着传媒行业的格局。从区块链媒体宣发中获得的种种优势和未来的趋势,不仅为企业带来了新的推广途径,也在信息传播领域掀起了一场革命。本文将深入探讨区块链媒体宣发的优势以及未来的发展趋势。 1…