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

news2024/12/23 14:05:29

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 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企业节,华为云服务器以其卓越的性能、稳定性和安全性,为您提供了理想的部署环境。现在立即行动,享受华为云服务器带来的优惠和福利。

在这里插入图片描述

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

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

相关文章

OpenHarmony标准系统上实现对rk系列芯片NPU的支持(驱动移植)

1.将RKNPU驱动移植到Openharmony内核 本文以rk3568为例,将RKNPU驱动移植到Openharmony使用的kernel 5.10中 开发环境 DAYU200 rk3568开发板OpenHarmony 4.1 Release 64位系统 文档约定:4.1r_3568为OpenHarmony标准系统源码根目录 1.0 环境准备 1.搭建O…

Windows11 + Ubuntu 24.10

我在win11安装Ubuntu主板:华硕主板Z790 DARK HERO,进入安装,所以文章中bios系统设置为华硕的bios系统。 一、确认系统信息-BIOS为UEFL 备注:UEFL优于MBR,具体可以查询问ai。如果BIOS模式中不是UEFL,建议为UEFL 1、 win+R 输入 msinfo32,打开系统信息,可以看到…

printf详解

printf("hello \nworld\n"):将hello word打印到屏幕上,在使用printf函数时可以多次使用换行符\n,想在哪里加都可以 int main() {printf("hello \nworld\n");return 0; } 占位符:在printf中,占位…

delphi制作漂亮的农历窗体(IntraWeb+Layui的完美结合)

delphi制作漂亮的农历窗体(IntraWebLayui的完美结合) 不需要安装服务器,Apache和IIS都不需要,自带企业级服务器。 运行exe服务器就架好了,直接打开手机浏览器或者电脑浏览器,网页就出来了,如果…

AI驱动TDSQL-C Serverless 数据库技术实战营-颠覆传统分析模式:智能体与TDSQL-C结合实现人才的可视化数据分析

文章目录 前言云数据库的对比传统云数据库:TDSQL-C Serverless: 智能体与TDSQL-C的结合思路 算力服务器与数据库服务器申请与部署购买 TDSQL-C Mysql Serverless 实例购买HAI高算力服务器 准备工作准备数据下载依赖 案例开发创建数据库开启智能体与TDSQL-C结合 总结…

智能新宠:BabyAlpha A2开启家庭机器人新时代

具身智能领域的“疯狂”,已经迈入了全新的阶段!让我们一起来看看这段视频:一个人形机器人在前面奔跑,一群机器狗紧随其后;接着是人追赶机器狗,随后机器狗又追逐人……视频最后,那个机器人似乎还…

【Python】Daphne:Django 异步服务的桥梁

Daphne 是 Django Channels 项目的一部分,专门用于为 Django 提供支持 HTTP、WebSocket、HTTP2 和 ASGI 协议的异步服务器。Daphne 是一个开源的 Python 异步服务器,它可以帮助开发者运行异步应用程序,并且非常适合与 Django Channels 一起使…

回家啦回家啦

耒阳也有茶颜月色了,没忍住喝了一杯! 衡阳卤粉,想出来的味道👅,一般般 但一个粉店能做到24小时不打烊,应该也还行哈 银行竟然支持扫脸取钱了!!

【微服务即时通讯系统】——etcd一致性键值存储系统、etcd的介绍、etcd的安装、etcd使用和功能测试

文章目录 etcd1. etcd的介绍1.1 etcd的概念 2. etcd的安装2.1 安装etcd2.2 安装etcd客户端C/C开发库 3. etcd使用3.1 etcd接口介绍 4. etcd使用测试4.1 原生接口使用测试4.2 封装etcd使用测试 etcd 1. etcd的介绍 1.1 etcd的概念 Etcd 是一个基于GO实现的 分布式、高可用、一致…

通过OpenScada在ARMxy边缘计算网关上实现数字化转型

随着工业4.0概念的普及,数字化转型已成为制造业升级的关键路径之一。在此背景下,边缘计算技术因其能够有效处理大量数据、减少延迟并提高系统响应速度而受到广泛关注。ARMxy边缘计算网关,特别是BL340系列,凭借其强大的性能和灵活的…

--杂项2--

将之前实现的顺序表、栈、队列都更改成模板类 #include <iostream> #include <string.h> using namespace std;template <typename T> class Stack { private:T* a;int top;int size1;public:Stack(int c) : a(new T[c]), top(-1), size1(c) {}~Stack() { de…

IDEA 系列产品 下载

准备工作 下载 下载链接&#xff1a;https://www.123865.com/ps/EF7OTd-mbHnH 仅供参考 环境 演示环境&#xff1a; 操作系统&#xff1a;windows10 产品&#xff1a;IntelliJ IDEA 版本&#xff1a;2024.1.2 注意&#xff1a;如果需要其他产品或者版本可以自行下载&#xff0…

ArcEngine C#二次开发图层处理:根据属性分割图层(Split)

需求&#xff1a;仅根据某一属性&#xff0c;分割图层&#xff0c;并以属性值命名图层名称保存。 众所周知&#xff0c;ArcGIS ArcToolbox中通过Split可以实现图形分割一个图层&#xff0c;以属性值命名图层&#xff0c;如下图所示。 本文仅仅依据属性值&#xff0c;将一个shp…

Android界面控件概述

节选自《Android应用开发项目式教程》&#xff0c;机械工业出版社&#xff0c;2024年7月出版 做最简单的安卓入门教程&#xff0c;手把手视频、代码、答疑全配齐 控件是Android界面的重要组成单元&#xff0c;Android应用主要通过控件与用户交互&#xff0c;Android提供了非常…

YUView:YUV查看工具

文章目录 引言安装步骤使用YUView查看YUV数据播放与分析功能亮点注意事项 YUView的架构设计 引言 本文将介绍如何在Ubuntu 20.04上安装YUView&#xff0c;并分享其基本使用方法。 安装步骤 安装依赖项 在开始安装YUView前&#xff0c;先确保安装了所有必需的依赖包。打开终…

VGA/HDMI/DP接口和USB、串口通信协议

1、视频接口 开始之前我们先聊一聊数字信号和模拟信号&#xff0c;模拟信号和数字信号的不同之处在于它们所传输的信息的形式。模拟信号是一个连续的信号&#xff0c;可以以在无限小的时间内进行测量。数字信号则是以离散的形式进行传输&#xff0c;它的数值只能是离散的、有限…

每日一题学习笔记

给你单链表的头结点 head &#xff0c;请你找出并返回链表的中间结点。 如果有两个中间结点&#xff0c;则返回第二个中间结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[3,4,5] 解释&#xff1a;链表只有一个中间结点&#xff0c;提示&…

Unity中的GUIStyle错误:SerializedObject of SerializedProperty has been Disposed.

一运行就循环打印这个报错&#xff0c; 解决办法&#xff0c;每次改参数之后在HIerarchy中手动保存&#xff0c;就会停止循环打印&#xff0c;style中的字体也显示出来了&#xff0c; 或者 直接换个低版本的

如何使用C语言接入Doris数据库

如何使用C语言接入Doris数据库 一、环境准备1. 安装MySQL C API2. Doris数据库环境二、编写C语言接入代码1. 包含必要的头文件2. 编写连接和查询函数3. 编译和运行程序三、注意事项1. 安全性2. 错误处理3. 性能优化4. 兼容性5. 调试和日志记录四、结论Doris(之前称为Palo或Apa…

SQL高可用优化-优化SQL中distinct和Where条件对索引字段进行非空检查语句

最近做一个需求&#xff0c;关于SQL高可用优化&#xff0c;需要优化项目中的SQL&#xff0c;提升查询效率。 SQL高可用优化 一、优化SQL包含distinct场景二、优化SQL中Where条件中索引字段是否为NULL三、代码验证1. NodeMapper2. NodeService3. NodeController4.数据库数据5.项…