欢迎莅临寒舍
桃花仙人种桃树,又摘桃花换酒钱

别让写真集躺平在 NAS 里!部署 Photonix 让照片 “开口说话”!

Photonix:

一个极简、AI 驱动的智能相册,专为现代 Web 设计。它集成了 PWA、流式加载、多数据库架构和高性能缓存,旨在提供极致的浏览体验和智能的交互方式。

主要特性:

🎭 AI 智能交互

  • • AI 画中密语:AI 扮演照片人物,沉浸式对话体验
  • • 多模型支持:兼容 OpenAI、Claude、Gemini 等主流视觉模型
  • • 自定义提示词:支持多种AI角色设定,从温馨对话到私密互动
  • • 异步任务处理:AI内容生成采用 BullMQ 队列机制,避免阻塞用户界面
  • • 智能缓存:AI生成内容 Redis 持久化缓存,降低 API 成本
  • • 任务去重:相同图片自动复用已有结果,优化性能
  • • 提示词模板:内置多种对话风格模板,可参考 AIPROMPT.md

🖼️ 图片管理

  • • 流式图片加载:大相册极速响应,懒加载优化
  • • 智能缩略图:自动生成多尺寸缩略图,支持失败重试机制
  • • 视频处理:自动视频优化,支持多种格式转码
  • • 双图片布局:响应式瀑布流/网格模式,自适应屏幕尺寸

🔒 安全防护

  • • 一键全局模糊:键盘单击 B && 三指触摸屏幕
  • • 密码保护:可选密码访问,支持公开/私有模式切换
  • • 路径校验:严格的文件路径安全检查
  • • 速率限制:API访问频率控制,防止滥用

🚀 性能优化

  • • 多数据库架构:主数据库、设置数据库、历史记录数据库、索引数据库分离
  • • Redis 高性能缓存:AI内容与搜索结果持久缓存
  • • Worker 线程池:缩略图生成、AI处理、索引重建多线程并发
  • • 智能索引:SQLite FTS5全文搜索,支持模糊匹配

📱 用户体验

  • • PWA 支持:可安装、离线访问,移动端手势切换
  • • 响应式设计:完美适配桌面端和移动端
  • • 触摸手势:移动端滑动切换图片/双指缩放/三指模糊
  • • 键盘导航:桌面端键盘快捷键操作
  • • 搜索历史:智能搜索历史记录,快速重复搜索

🛠️ 运维友好

  • • Docker 部署:一键部署,环境隔离
  • • 健康检查:容器健康状态监控
  • • 日志系统:结构化日志,便于问题排查
  • • 数据迁移:自动数据库迁移,平滑升级

安装

Docker Compose

services:
app:
    image: heizicao/photonix:latest
    container_namePhotonix
    ports:
      - 12080:13001
    environment:
      - PORT=13001
      - NODE_ENV=production
      - LOG_LEVEL=info
      - PHOTOS_DIR=/app/photos
      - DATA_DIR=/app/data
      - REDIS_URL=redis://redis:6379
      - JWT_SECRET=OSGvnF4dZ5YUyv3WwSHQhKHGhRd2lL5w
      - ADMIN_SECRET=RdKqLIQ3MOOOmJN1qo25Q621tH9K8A1f
    volumes:
      - ./photos:/app/photos
      - ./photonix_data:/app/data
    restart: unless-stopped
    depends_on:
      - redis

redis:
    imageredis:7-alpine
    container_namePhotonix-redis
    command: redis-server --appendonly yes
    volumes:
      - ./redis_data:/data
    restart: unless-stopped

参数说明(更多参数建议去看文档)

:::tips
PORT(环境变量):服务监听端口

NODE_ENV(环境变量):运行模式

LOG_LEVEL(环境变量):日志级别

PHOTOS_DIR(环境变量):媒体库根目录

DATA_DIR(环境变量):日志级别

REDIS_URL(环境变量):Redis 连接地址

JWT_SECRET(环境变量):替换为 32+ 位强随机字符串

ADMIN_SECRET(环境变量):管理员密码,替换为 32+ 位强随机字符串

:::

使用

浏览器中输入 http://NAS的IP:12080 就能看到界面

将图片放入映射的图片目录(可创建文件夹进行分类管理)

图片将自动生成缩略图并加载展示

支持两种布局切换:网格布局和瀑布流布局

点击打开照片的展示效果

点击页面右上角,打开设置弹窗

安全,如果是放到外网分享,建议启用访问密码

其他人访问就需要输入密码才能查看

AI 密语,这也是整个项目最特别的地方了,按要求填写 AI 配置(调用的模型需要支持视觉)

开启 AI 功能后,图片底部就多了一个对话按钮

AI 会自动识别图片内容并提供交互,如果后面可以加上对话就回复更有意思了

系统状态,如果照片不显示可以在这里重新同步和设置

生成缩略图时,资源占用情况

扩展

因为我打包的镜像后面不会持续一直更新,如果需要构建项目,可以参考下面的步骤

来到 Github 下载项目:https://github.com/li88iioo/Photonix

解压 ZIP 文件,打开 env.production 文件

修改一下密钥和口令(生成一个 32 位字符串即可)

将整个文件夹,上传到 NAS 设备上

重命名 env.production 文件为 .env

创建项目,选择上面的文件夹路径,会自动导入模板

修改一下相册存放路径,这里我就放到当前目录

其他默认即可,点击确认

如果容器一直重启,可能权限问题,可以递归一下权限(还是不行,修改配置模版给最高特权)

sudo chmod -R 777 /vol1/1000/docker/photonix

总结

Photonix 作为一款极简风格的 AI 驱动智能相册,和我所遇到的其他所有相册都不同,别人的 AI 功能都是人脸识别,场景分类。而它的核心优势在于 AI 交互,同时也抓住了展示内容方向为写真集,这个一搭配属于是 1+1>2 的效果了。通过 AI 赋予照片中人物 “对话能力”,让静态写真焕发互动生命力。当然由于功能还比较简单,期待后续版本能够集成上传图片和管理功能,以及加强 AI 交互能力可以实现实时对话,那将是开辟另外一个照片交互体验。

综合推荐:⭐⭐⭐⭐(写真集,多了一个好去处)

使用体验:⭐⭐⭐⭐(属于是打开新世界大门)

部署难易:(非常简单)

 ︎

 ︎

 ︎

 ︎

 ︎

 ︎

赞(0)
未经允许不得转载:桃花坞里桃花庵 » 别让写真集躺平在 NAS 里!部署 Photonix 让照片 “开口说话”!

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册