收起左侧

你也可以拥有专属照片画廊!手把手教你在 NAS 部署 Photoview~

2
回复
499
查看
[ 复制链接 ]

17

主题

5

回帖

0

牛值

fnOS系统内测组

社区上线纪念勋章

2025-8-19 15:46:31 显示全部楼层 阅读模式

Photoview:

一个简单且用户友好的照片画廊项目,专为摄影师打造,旨在提供一种便捷、快速的方式来浏览包含数千张高分辨率照片的目录。

图片

主要特点:

  • • 与文件系统紧密关联:网站展示服务器本地文件系统中的图像,目录映射为相册。
  • • 用户管理:每个用户创建时会关联本地文件系统的一个路径,该用户可访问该路径下的照片。
  • • 分享功能:相册和单个媒体文件可通过公共链接轻松分享,链接还可选择设置密码保护。
  • • 为摄影而生:支持 RAW 文件格式和 EXIF 解析。
  • • 视频支持:支持多种常见视频格式,并会自动为网络优化视频。
  • • 人脸识别:自动检测照片中的人脸,将同一人的照片分组。
  • • 高性能:自动生成缩略图,照片仅在屏幕上可见时才加载,全屏模式下先显示缩略图,直至高分辨率图像完全加载。
  • • 安全性:所有媒体资源均受 cookie 令牌保护,密码均经过适当哈希处理,API 使用严格的 CORS 政策。

在线演示站点:

网址:https://photos.qpqp.dk

用户名:demo

密码:demo

安装

Docker Compose(SQLITE 数据库)

services:
photoview:
    image: photoview/photoview:2
    container_name: photoview
    user: root
    ports:
     - 8008:80
    environment:
      - PHOTOVIEW_DATABASE_DRIVER=sqlite
      - PHOTOVIEW_SQLITE_PATH=/home/photoview/database/photoview.db
      - PHOTOVIEW_MEDIA_CACHE=/home/photoview/media-cache
      - PHOTOVIEW_LISTEN_IP=0.0.0.0
      - PHOTOVIEW_LISTEN_PORT=80
    volumes:
     - /vol1/1000/docker/photoview/cache:/home/photoview/media-cache
     - /vol1/1000/docker/photoview/database:/home/photoview/database
     - /vol1/1000/docker/photoview/photos:/photos
     - /etc/localtime:/etc/localtime
    restart: unless-stopped

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

:::
PHOTOVIEW_DATABASE_DRIVER(环境变量):数据库类型(mariadb、sqlite 或 postgres)

PHOTOVIEW_SQLITE_PATH(环境变量):SQLITE 数据库路径

PHOTOVIEW_MEDIA_CACHE(环境变量):缓存路径

PHOTOVIEW_LISTEN_IP(环境变量):监听地址

PHOTOVIEW_LISTEN_PORT(环境变量):监听端口

MAPBOX_TOKEN(环境变量,可选):Mapbox 地图网站的 token,用于照片位置标注

:::

启动有可能会提示不能初始化,这是权限问题导致的

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

图片

查看数据库映射路径,有文件就说明没问题了

图片

TIP:

上面是使用 SQLITE 数据库,如果想用 MYSQL 数据库的可以用这个模板,当然也可以用官方的模板参数会更加详细。

Docker Compose(MYSQL 数据库)

services:
photoview:
    image: photoview/photoview:2
    container_name: photoview
    user: root
    depends_on:
      - mariadb
    ports:
     - 8008:80
    environment:
      - PHOTOVIEW_DATABASE_DRIVER=mariadb
      - PHOTOVIEW_MYSQL_URL=photoview:photosecret@tcp(mariadb)/photoview
      - PHOTOVIEW_MEDIA_CACHE=/home/photoview/media-cache
      - PHOTOVIEW_LISTEN_IP=0.0.0.0
      - PHOTOVIEW_LISTEN_PORT=80
    volumes:
     - /vol1/1000/docker/photoview/cache:/home/photoview/media-cache
     - /vol1/1000/docker/photoview/photos:/photos
     - /etc/localtime:/etc/localtime
    restart: unless-stopped

mariadb:
    image: mariadb:lts
    container_name: mariadb
    environment:
      - MARIADB_DATABASE=photoview
      - MARIADB_USER=photoview
      - MARIADB_PASSWORD=photosecret
      - MARIADB_ROOT_PASSWORD=superphotosecret
    volumes:
     - /vol1/1000/docker/photoview/database:/var/lib/mysql
     - /etc/localtime:/etc/localtime
    restart: unless-stopped

使用

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

图片

首次进入需要先注册账号,下面的存储照片路径填写“/photos”

图片

来到设置,修改语言为中文

图片

为了更好的截图效果,我将主题设置为深黑

图片

将图片放入照片路径

图片

如果没有出现图片,可以手动点击扫描(如果没有显示左下角任务,有可能权限问题导致不行)

图片

时间线,按照时间顺序排序,用来显示照片还是挺不错的

图片

图片详情,可以看到图片的信息,也可以分享图片链接给其他人

图片

打开照片浏览

图片

相册,根据文件夹进行分类(这点还是挺符合个人使用习惯的)

图片

TIP:

这里是用人脸识别的训练数据集作为测试的,一共 5 个人,各 100 张照片。大家如果有兴趣,也可以试试自己的识别率,这里分享测试数据照片: https://pan.baidu.com/s/1cqO_eJbL7acYSHi_dujxTg?pwd=1234

人物,可以调用 CPU 进行人脸识别(核显也行,不过这里没有配置),识别准确率一般般,但是起码是基本将人脸都识别出来了

图片

对比飞牛的识别率(默认设置识别太低,改成了宽松一点)

图片

设置,支持简单的多用户管理

图片

总结

Photoview 是一款轻量实用的照片画廊,只需要映射相册目录即可快速体验,支持人脸识别功能和多用户管理。虽然存在些许局限 —— 如缺乏网页直接上传图片功能、人脸识别准确率有待提升、用户管理功能较简单等,但作为轻量级图片展示工具,其核心的展示与分享能力足够满足需求,尤其适合注重简洁体验、以展示分享为主要需求的用户。

综合推荐:⭐⭐⭐(适合展示和分享)

使用体验:⭐⭐⭐(简洁流畅,功能简单)

部署难易:⭐⭐(简单)

收藏
送赞
分享

0

主题

2

回帖

0

牛值

江湖小虾

看着不错,感谢楼主分享!

0

主题

2

回帖

0

牛值

江湖小虾

lol

不错

试试

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则