828华为云征文|部署去中心化网络的 AI 照片管理应用 PhotoPrism

828华为云征文|部署去中心化网络的 AI 照片管理应用 PhotoPrism

  • 一、Flexus云服务器X实例介绍
  • 二、Flexus云服务器X实例配置
    • 2.1 重置密码
    • 2.2 服务器连接
    • 2.3 安全组配置
    • 2.4 Docker 环境搭建
  • 三、Flexus云服务器X实例部署 PhotoPrism
    • 3.1 PhotoPrism 介绍
    • 3.2 PhotoPrism 部署
    • 3.3 PhotoPrism 使用
  • 四、总结

一、Flexus云服务器X实例介绍

随着数字化转型的加速,云服务器已成为企业与个人开发者的首选。它提供了按需分配的计算资源,确保了灵活性和可扩展性,同时降低了维护成本。无论是构建网站、托管应用还是数据分析,云服务器都能提供强大而稳定的支持,让您的创意和业务在云端自由飞翔。

华为云下一代云服务器Flexus X实例焕新上线,新产品提供与华为云旗舰级云服务器产品相同的单AZ 99.975%可用性,跨AZ 99.995%可用性,并且基于客户业务负载进行动态性能画像,智能推荐资源规格,持续优化性能和成本,覆盖高科技、零售、金融、游戏等行业大多数通用工作负载场景。
在这里插入图片描述

Flexus X实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。

在这里插入图片描述
本次测评使用的规格是:4核12G-100G-3M规格的Flexus X实例基础模式

在这里插入图片描述

二、Flexus云服务器X实例配置

2.1 重置密码

购买服务器的时候可以提前设置用户名和密码,因为我这里跳过了,所以购买完成后需要重置密码,会短信或站内消息通过你的云服务器信息,重点是公网IP地址和用户名,首先打开你的服务器控制台,选择重置密码

在这里插入图片描述

勾选自动重启,点击确定即可

在这里插入图片描述

2.2 服务器连接

华为云服务器提供了多种链接方式,如使用控制台提供的VNC方式登录、使用Linux/Mac OS系统主机登录Linux弹性云服务器(即ssh root@192.168.48.78命令)或者使用Putty、Xshell等工具登录Linux弹性云服务器。

我个人习惯使用 MobaXterm 这款软件,添加SSH连接,输出公网IP、用户名和端口(默认22),连接即可。

在这里插入图片描述

2.3 安全组配置

安全组是一个逻辑上的分组,为同一个VPC内的云服务器提供访问策略。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。

系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组

在这里插入图片描述

主要需要填写优先级(默认填1即可)、协议端口(协议一般为TCPUDP,端口一般选择你项目需要暴露的端口即可),描述(选填,一般会填写此端口的用途以免忘记了),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。

在这里插入图片描述

如果还不清楚可以参考文档:安全组配置示例

2.4 Docker 环境搭建

本次服务器环境是ubuntu系统镜像,需要自己安装docker环境

服务器类别系统镜像内网IP地址Docker版本操作系统版本
Flexus云服务器X实例Ubuntu192.168.0.16827.2.0Ubuntu 22.04.4 LTS

使用apt-get命令安装docker及其配置

# 安装必要工具包
$ sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg-agent \software-properties-common# 添加Docker GPG秘钥
$ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -# 配置仓库源
$ sudo add-apt-repository \"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \$(lsb_release -cs) \stable"	# 更新apt包索引
$ sudo apt-get update# 安装docker
$ sudo apt-get install docker-ce docker-ce-cli containerd.io# 添加docker镜像源
$ sudo vim /etc/docker/daemon.json{"registry-mirrors": ["https://ustc-edu-cn.mirror.aliyuncs.com/","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://ccr.ccs.tencentyun.com/","https://docker.m.daocloud.io/","https://dockerproxy.com",]
}
# 重启
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

测试docker安装是否成功

root@flexusx-c6b3:~# docker -v
Docker version 27.2.0, build 3ab4256```

检查docker服务状态

root@flexusx-c6b3:~# systemctl status docker
* docker.service - Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h ago
TriggeredBy: * docker.socketDocs: https://docs.docker.comMain PID: 24912 (dockerd)Tasks: 13Memory: 24.7MCPU: 3.778sCGroup: /system.slice/docker.service`-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

检查docker compose版本

root@flexusx-c6b3:~# docker compose version
Docker Compose version v2.29.2

三、Flexus云服务器X实例部署 PhotoPrism

3.1 PhotoPrism 介绍

PhotoPrism 是一款适用于去中心化网络的 AI 照片应用。它利用最新技术自动标记和查找图片,不会妨碍您。您可以在家中、私人服务器或云端运行它。

  • 浏览所有照片和视频,无需担心RAW 转换、重复或视频格式
  • 使用强大的搜索过滤器轻松找到特定图片
  • 识别你的家人和朋友的面孔
  • 根据图片内容和位置自动分类
  • 将鼠标悬停在相册和搜索结果中的实况照片上即可播放实况照片
  • 由于用户界面是一个渐进式 Web 应用程序,它提供了类似原生应用程序的体验,您可以方便地将其安装在所有主要操作系统和移动设备的主屏幕上
  • 包含四张高分辨率世界地图,让您重温最喜爱的旅行回忆
  • 从 Exif、XMP 和其他来源(例如 Google Photos)提取并合并元数据
  • 还可以搜索更多图像属性,如颜色、色度和质量
  • 使用PhotoSync在后台安全备份 iOS 和 Android 手机
  • WebDAV 客户端(例如 Microsoft 的 Windows Explorer 和 Apple 的 Finder)可以直接连接到 PhotoPrism,这样您就可以打开、编辑和删除计算机上的文件,就像它们是本地文件一样

在这里插入图片描述
在数字化时代,我们拍摄、储存和分享照片的方式发生了革命性的变化。如何有效管理海量的图片是许多人的困扰,而PhotoPrism网站为这一问题提供了一种创新的解决方案。无论是在家中,私人服务器上,还是云端,用户都可以便捷地运行PhotoPrism以管理其照片库。把繁杂的图片管理工作变得简单高效,无论您是摄影爱好者还是专业人士,都很推荐尝试这个工具。

  • 官网:https://www.photoprism.app/
  • Github:https://github.com/photoprism/photoprism

3.2 PhotoPrism 部署

  • 系统要求
  • 必须安装:Docker环境
  • 支持设备:Mac/ Linux/ Windows
  • 硬件建议:2核3G以上
  • 获取docker-compose.yml

官方建议使用Docker Compose,因为它比纯 Docker 命令行界面更简单,并且为运行多个服务提供了更多便利。

wget https://dl.photoprism.app/docker/docker-compose.yml
  • 启动服务

进入项目目录,执行docker run启动命令,会自动拉取容器并运行

从 Dockerhub 拉取 Photoprism 镜像,地址:https://hub.docker.com/r/photoprism/photoprism

root@flexusx-c6b3:~/photoprism# docker-compose up -d
Creating network "photoprism_default" with the default driver
Pulling watchtower (containrrr/watchtower:latest)...
latest: Pulling from containrrr/watchtower
57241801ebfd: Pull complete
3d4f475b92a2: Pull complete
1f05004da6d7: Pull complete
Digest: sha256:6dd50763bbd632a83cb154d5451700530d1e44200b268a4e9488fefdfcf2b038
Status: Downloaded newer image for containrrr/watchtower:latest
Pulling mariadb (mariadb:11)...
11: Pulling from library/mariadb
dafa2b0c44d2: Pull complete
2d5e0d69d765: Pull complete
5145df719521: Pull complete
ffe11d25f6ee: Pull complete
f0eb027ac47e: Pull complete
586260156254: Pull complete
62c80f8d2eea: Pull complete
36be09cfdba3: Pull complete
Digest: sha256:4066f2d4805fef72a83cf4a62689a0aadb6e83a8c8a82b64431edd4b94f684f8
Status: Downloaded newer image for mariadb:11
Pulling photoprism (photoprism/photoprism:latest)...
latest: Pulling from photoprism/photoprism
31e907dcc94a: Pull complete
fa1abcc626a4: Pull complete
f52a46d9b619: Pull complete
4f4fb700ef54: Pull complete
8e483297a9a6: Pull complete
5706be3315f4: Pull complete
Digest: sha256:1f14335e2cd9dfaadc555ac8d40aa8a3966a5b5e5ef88fa78973ef7e8673fa2b
Status: Downloaded newer image for photoprism/photoprism:latest
Creating photoprism_mariadb_1 ... 
Creating photoprism_watchtower_1 ... 
Creating photoprism_watchtower_1
Starting photoprism_mariadb_1 ... done
Creating photoprism_photoprism_1 ... done
  • 配置安全组

在Flexus云服务器X实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听2342端口,所以添加安全组为TCP:2342协议端口。

在这里插入图片描述

  • 检查容器状态

检查 PhotoPrism 容器状态,确保容器正常启动

root@flexusx-c6b3:~/photoprism# docker ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED          STATUS                   PORTS                                                      NAMES
086b398e5e56   photoprism/photoprism:latest   "/scripts/entrypoint…"   8 minutes ago    Up 8 minutes             0.0.0.0:2342->2342/tcp, :::2342->2342/tcp, 2442-2443/tcp   photoprism_photoprism_1
7d75ead11b26   mariadb:11                     "docker-entrypoint.s…"   15 minutes ago   Up 8 minutes             3306/tcp                                                   photoprism_mariadb_1
7f9821742e52   containrrr/watchtower          "/watchtower"            15 minutes ago   Up 8 minutes (healthy)   8080/tcp                                                   photoprism_watchtower_1
  • 访问地址

内网:http://localhost:2342
外网:http://公网IP:2342

  • 访问结果

在这里插入图片描述

若出现此页面,则部署 photoPrism server 成功。

3.3 PhotoPrism 使用

根据 docker-compose.yml 中配置的管理员帐号密码,输入然后登录

PHOTOPRISM_ADMIN_USER: "admin"  
PHOTOPRISM_ADMIN_PASSWORD: "insecure" 

在这里插入图片描述

首先我们需要进入 Settings - GENERAL,然后将语言设置为简体中文

在这里插入图片描述

首页展示了 PhotoPrism 的主要功能点,左侧功能栏:搜索、相册、视频、人物、收藏、瞬间、日历、地点、标签、文件夹、私有、资料库、设置,上侧功能栏包含全局搜索、刷新、切换视图、上传、展开条件搜索

在这里插入图片描述

添加相册,这个是直接创建的相册,没有选择输入相册名

在这里插入图片描述

选中后,在右下角功能菜单中,可以编辑相册,修改名称,可以添加位置、描述和分类

在这里插入图片描述

点击进入创建的相册,选择右上角的上传按钮,选择文件进行上传

在这里插入图片描述

上传完成,索引比较耗时,会提取照片的元数据及生成缩略图等,并且非照片和低质量图像出现在搜索结果中前需要进行审查

在这里插入图片描述

上传完成,导入照片的过程中会按照日期重新整理照片,并对照片重命名,最终都存放在 /photoprism/originals 文件夹下

在这里插入图片描述

查看文件目录如下,可以看到照片都被放在 2024 目录下,这是并且按照月份创建子目录,每个照片都以时间 + 随机码来命名

root@dev-fj-srv:~/Pictures# tree -L 3
.
`-- 2024|-- 02|   |-- 20240227_181305_186F3D3A.jpg|   `-- 20240227_192903_88B64E51.jpg`-- 09|-- 20240924_122440_55C78CF6.jpg|-- 20240924_122440_885EB45B.jpg3 directories, 64 files

使用强大的搜索过滤器轻松查找特定照片和视频。您的图片会根据其内容和位置自动分类。还可以搜索更多图像属性,如颜色、色度和质量。标记为私人、已存档或正在审核的图片不会出现在常规搜索结果中

在这里插入图片描述

如果上传的图片包含任务,会自动识别人脸信息

在这里插入图片描述

自动创建特殊时刻、旅行和地点相册

在这里插入图片描述

地点相册

在这里插入图片描述

自动添加标签,并分类展示

在这里插入图片描述

文件夹分类

在这里插入图片描述
展开资料库,可以查看源,这就是上传的文件的目录,单击文件夹即可打开该文件夹

在这里插入图片描述

单击文件即可打开其编辑对话框,查看图片信息,很丰富的元数据信息

在这里插入图片描述

查看资料库设置,包括索引、导入和日志信息

在这里插入图片描述

设置的选项也很多,在常规设置选项卡中,您可以配置基本用户界面设置以及地点中的地图,在高级设置页面中更改系统配置选项(例如图像质量),还可以禁用特定功能并启用调试或只读模式,资料设置仅供超级管理员使用,账户设置即个人信息设置

在这里插入图片描述

预览视频,界面很简单,可以全面无边框播放

在这里插入图片描述

预览图片,可以幻灯片播放、全屏、收藏、编辑等操作

在这里插入图片描述

如今我们每个人都积累了海量的照片和视频,自媒体人们积累的照片和视频数量可能更多,面对这么多的照片和视频,我们该如何管理呢?PhotoPrism 就是一个很全面的解决方案,强大的支持智能整理,让你轻松管理和浏览生活中的每一张照片。作为整理图片和视频的数据中心的基本使用就是这样了,比如上传、添加相册、修改相册和图片信息等,还有强大的检索能力,还有更多有趣的设置和功能就需要自行探索了。

四、总结

PhotoPrism像是一位体贴的数字助理,把繁杂的图片管理工作变得简单高效。无论您是摄影爱好者还是专业人士,这款平台都会成为您不可或缺的工具。因为其界面直观且功能强大,新用户通常能在短时间内掌握操作要领,查看详细的用户指南与演示,帮助他们更好地熟悉并发挥平台的全部潜力。此次使用的Flexus X实例配置还是很高的4核12G-100G-3M规格基础模式,对照片库进行自动扫描和索引,并生成智能标签以供查找和分组,整个过程没有出现延迟卡顿现象,只不过索引时间挺长的,但是这项目的索引器的确比较耗内存。

在探索PhotoPrism这个强大的AI照片管理工具后,是时候为您的项目寻找一个强大而可靠的家了。现在正进行828 B2B企业节,华为云服务器以其卓越的性能、稳定性和安全性,为您提供了理想的部署环境。现在立即行动,享受华为云服务器带来的优惠和福利。

在这里插入图片描述

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

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

相关文章

【Redis】如何在 Ubuntu 上安装 Redis 5

🥰🥰🥰来都来了,不妨点个关注叭! 👉博客主页:欢迎各位大佬!👈 本期内容主要介绍如何在 Ubuntu 上安装 Redis5 一些碎碎念: 本来这期内容介绍如何在 Centos 安装 Redis …

基于ScriptableObject设计游戏数据表

前言 本篇文章是针对之前对于ScriptableObject概念讲解的实际应用之一,在游戏开发中,我们可以使用该类来设计编辑器时的可读写数据表或者运行时的只读数据表。本文将针对运行时的只读数据表的应用进行探索,并且结合自定义的本地持久化存储方式…

cheese安卓版纯本地离线文字识别插件

目的 cheese自动化平台是一款可以模拟鼠标和键盘操作的自动化工具。它可以帮助用户自动完成一些重复的、繁琐的任务,节省大量人工操作的时间。可以采用Vscode、IDEA编写,支持Java、Python、nodejs、GO、Rust、Lua。cheese也包含图色功能,识别…

SpringBoot——基础配置

但是还需要删除pom.xml中的标签——模板的文件也同样操作 banner的选项——关闭 控制台 日志 banner图片的位置——还会分辨颜色 在 Java 的日志框架(如 Logback、Log4j2 等)中,logging.level.root主要用于设置根日志记录器的日志级别…

location指令

无前缀,必须以”/“开头 前缀""精准匹配。 前缀”^~“ 普通url匹配。 前缀”~“基于正则表达式的匹配, 区分大小写 前缀”~*“ 匹配优先级 locationlocation^~和无前缀/location ~或~* 1.无任何前缀 不加任何规则,默认大小写敏感&#x…

10.2 Linux_并发_进程相关函数

创建子进程 函数声明如下: pid_t fork(void); 返回值:失败返回-1,成功返回两次,子进程获得0(系统分配),父进程获得子进程的pid 注意:fork创建子进程,实际上就是将父进程复制一遍作为子进程&…

【Linux操作系统】进程的创建与替换

目录 前言:一、进程创建1.fork();1.1 fork基本介绍1.2 fork的原理1.3 写时拷贝1.4 fork的使用场景1.5 fork调用失败的原因 2.clone() 二、进程替换(exec)1.替换原理2.替换函数3.函数解释4.函数理解 前言: 学习了Linux操作系统我们可以知道,进…

基于php摄影门户网站

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

Oracle架构之数据库备份和RAC介绍

文章目录 1 数据库备份1.1 数据库备份分类1.1.1 逻辑备份与物理备份1.1.2 完全备份/差异备份/增量备份 1.2 Oracle 逻辑备份1.2.1 EXP/IMP1.2.1.1 EXP导出1.2.1.2 EXP关键字说明1.2.1.3 导入1.2.1.4 IMP关键字说明 1.2.2 EXPDP/IMPDP1.2.2.1 数据泵介绍1.2.2.2 数据泵的使用 1.…

【STM32单片机_(HAL库)】4-3-2【定时器TIM】测量按键按下时间1——编程实现捕获功能

测量按键按下时长思路 测量按键按下时间实验目的 使用定时器 2 通道 2 来捕获按键 (按键接PA0)按下时间,并通过串口打印。 计一个数的时间:1us,PSC71,ARR65535 下降沿捕获、输入通道 2 映射在 TI2 上、不分…

华为-单臂路由

1、什么是单臂路由 单臂路由(Single-Arm Routing)是一种网络架构和配置技术,它允许路由器通过一个物理接口来管理多个虚拟局域网(VLAN)之间的通信。 这个物理接口被配置为Trunk模式,以便能够传输来自不同VL…

如何从huggingface下载

我尝试了一下若干步骤,莫名奇妙就成功了 命令行代理 如果有使用魔法上网,可以使用命令行代码,解决所有命令行连不上外网的问题: #配置http git config --global http.proxy 127.0.0.1:xxxx git config --global https.proxy 127…

移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——15.红黑树

1.红黑树的概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或 Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路 径会比其他路径长出俩倍,…

k8s搭建双主的mysql8集群---无坑

《k8s搭建一主三从的mysql8集群---无坑-CSDN博客》通过搭建一主三从,我们能理解到主节点只有1个,那么承担增删改主要还是主节点,如果你在从节点上去操作增删改操作,数据不会同步到其他节点。本章我们将实现多主(双主&a…

YOLO11关键改进与网络结构图

目录 前言:一、YOLO11的优势二、YOLO11网络结构图三、C3k2作用分析四、总结 前言: 对于一个科研人来说,发表论文水平的高低和你所掌握的信息差有着极大的关系,所以趁着YOLO11刚刚发布,趁热了解,先人一步对…

Linux-基础实操篇-组管理和权限管理(上)

Linux 组基本介绍 在 linux 中的每个用户必须属于一个组,不能独立于组外。在 linux 中每个文件 有所有者、所在组、其它组的概念。 用户和组的基本概念: 用户名:用来识别用户的名称,可以是字母、数字组成的字符串&#xff0…

(Kafka源码五)Kafka服务端处理消息

Kafka 服务端(Broker)采用 Reactor 的架构思想,通过1 个 Acceptor,N 个 Processor(N默认为3),M 个 KafkaRequestHandler(M默认为8),来处理客户端请求,这种模式结合了多线…

kubeadm部署k8s集群,版本1.23.6;并设置calico网络BGP模式通信,版本v3.25--未完待续

1.集群环境创建 三台虚拟机,一台master节点,两台node节点 (根据官网我们知道k8s 1.24版本之后就需要额外地安装cri-dockerd作为桥接才能使用Docker Egine。经过尝试1.24后的版本麻烦事很多,所以此处我们选择1.23.6版本) 虚拟机环境创建参考…

YOLOv11改进策略【损失函数篇】| Shape-IoU:考虑边界框形状和尺度的更精确度量

一、本文介绍 本文记录的是改进YOLOv11的损失函数,将其替换成Shape-IoU。现有边界框回归方法通常考虑真实GT(Ground Truth)框与预测框之间的几何关系,通过边界框的相对位置和形状计算损失,但忽略了边界框本身的形状和…

关于malloc,calloc,realloc

1.引用的头文件介绍&#xff1a; 这三个函数需要调用<stdlib.h>这个头文件 2.malloc 2.1 函数简单介绍&#xff1a; 首先这个函数是用于动态开辟一个空间&#xff0c;例如数组在c99标准之前是无法arr[N]的&#xff0c;这个时候就需要使用malloc去进行处理&#xff0c…