自学内容网 自学内容网

828华为云征文|部署去中心化网络的 AI 照片管理应用 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 Engine
     Loaded: 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.socket
       Docs: https://docs.docker.com
   Main PID: 24912 (dockerd)
      Tasks: 13
     Memory: 24.7M
        CPU: 3.778s
     CGroup: /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.jpg

3 directories, 64 files

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

地点相册

在这里插入图片描述

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

在这里插入图片描述

文件夹分类

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

四、总结

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

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

在这里插入图片描述


原文地址:https://blog.csdn.net/maxxspace/article/details/142498270

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!