侧边栏壁纸
博主头像
是羊刀仙啊 博主等级

闲不下来!

  • 累计撰写 185 篇文章
  • 累计创建 51 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Docker 搭建照片墙:PhotoPrism、Photoview、PiGallery2 该用哪个?

羊刀仙
2025-08-27 / 0 评论 / 0 点赞 / 5 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

本期来分享几个照片墙相关项目。支持NAS上的Docker一键部署。

笔者认为品牌NAS自带的照片服务基本都够用,算是「NAS全家桶」里的标配。随着版本不断迭代优化以及AI功能的加入,官方相册工具也更加好用。

也许大家需要一个更酷的展示方式?又或许你的设备上有很多非常棒的照片,希望无需繁冗步骤也能实现轻松分享?那官方套件的确是保守了点儿~

目前有三个比较成熟的:Photoview、PhotoPrism、PiGallery2。个人更喜欢PhotoPrism。

关于比较火热的相册工具 Immich,有部分朋友问,近期争取出个威联通NAS的部署流程~

这三个项目断断续续完成试用之后,比较火大,因此准备再写一个关于数据库的相关分享😡

全程使用威联通TS-464C作为演示设备。

截屏2025-08-26 17.05.26.png

⚠️:因为涉及多个服务,文章可能较长。

Photoview 轻量灵活的照片墙

项目链接:https://github.com/photoview/photoview

Photoview 主打支持 RAW 文件格式和 EXIF 解析。它支持人脸识别(速度挺快),支持包含中文繁简在内的多语言。官方介绍专为摄影师打造,那普通用户也没啥问题~当然该软件也支持常见的视频格式,比较可惜的是不支持Live Photo。它支持 PostgreSQL / MariaDB / SQLite 多个数据库,灵活性更高。

Photoview 是一款简洁易用的相册程序,专为摄影爱好者打造,提供了一种快速、直观的方式来浏览硬盘中成千上万张高清照片。你只需要配置好 Photoview 的扫描目录,它就会自动查找其中的照片和视频,并生成缩略图,让浏览过程更加流畅。媒体文件扫描完成后,你就能在网页端直接查看,它会按照硬盘里的文件夹结构进行分类展示,既清晰又方便管理。

Photoview 效果展示

轻量使用的话没啥大毛病。

Jietu20250825-151309-HD.gif

相片元数据,提供不同的下载体积选项以及生成不同的分享链接。

截屏2025-08-25 15.15.43.png

官方Demo:https://photos.qpqp.dk 。 账户密码都是demo

截屏2025-08-25 16.02.13.png

Docker 一键部署

这里仅展示MariaDB,其他的数据库请到项目界面查看。

同一个 Docker Compose 里同时部署 Photoview + MariaDB,差别其实不大:

services:
  # 初始化 media-cache 权限
  photoview-prepare:
    image: photoview/photoview:2
    container_name: photoview-prepare
    user: root
    entrypoint: []
    command: /bin/bash -c "sleep 1 && chown -R photoview:photoview /home/photoview/media-cache"
    cap_add:
      - CHOWN
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /share/Container/photoview:/home/photoview/media-cache  # 缓存路径

  # Photoview 主容器
  photoview:
    image: photoview/photoview:2
    container_name: photoview
    restart: unless-stopped
    ports:
      - "8797:80"  # 浏览器访问 http://NAS_IP:8797
    depends_on:
      photoview-prepare:
        condition: service_completed_successfully
      db:
        condition: service_healthy
    environment:
      - TZ=Asia/Shanghai
      - PHOTOVIEW_DATABASE_DRIVER=mysql
      - PHOTOVIEW_MYSQL_URL=photoview:photoview@tcp(db:3306)/photoview # 注意这个端口号
      - PHOTOVIEW_LISTEN_IP=0.0.0.0
      # - MAPBOX_TOKEN=your_mapbox_token   # 可选
      # - PHOTOVIEW_VIDEO_HARDWARE_ACCELERATION=qsv  # 可选
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /share/Container/photoview:/home/photoview/media-cache
      - /share/Phone/picture:/photos:ro  # 照片目录

  # MariaDB 数据库
  db:
    image: mariadb:10.6
    container_name: photoview-db
    restart: unless-stopped
    environment:
      - TZ=Asia/Shanghai
      - MYSQL_ROOT_PASSWORD=rootpassword   # 根用户密码,可改
      - MYSQL_DATABASE=photoview           # Photoview 数据库
      - MYSQL_USER=photoview               # Photoview 数据库用户名
      - MYSQL_PASSWORD=photoview           # Photoview 用户密码
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      interval: 10s
      timeout: 5s
      retries: 5
    volumes:
      - /share/Container/photoview/mysql:/var/lib/mysql

还可配置显卡之类(加速处理&视频硬解等),这些内容大家就到项目页面自行查看吧~

截屏2025-08-26 09.52.58.png

Photoview 使用

等待部署完毕后,浏览器输入NAS_IP:8797即可访问服务。

预先创建用户,默认的相册路径可填写/photos,这些后面都能再修改。

截屏2025-08-26 10.08.46.png

登陆后我们转到设置界面,可操作的都在这里了。

截屏2025-08-26 11.04.21.png

可以设置周期性扫描,第一次登陆我们就手动扫描所有用户。

扫描过后,照片、视频就会显现,可在线查看。有人脸的也会生成识别自动集合。

截屏2025-08-26 11.32.11 拷贝.png

截屏2025-08-26 11.41.11 拷贝.png

PhotoPrism 谷歌相册的替代品

项目地址:https://docs.photoprism.app/getting-started/

开头也说过,真要拿来用,更倾向这款。部分高阶功能需付费,但社区版也够用。说是照片墙,其实更倾向于一个独立的相册服务了。

Photoview 是一款简洁易用的照片视频管理工具,可自动分类和识别人脸,支持强大搜索、元数据索引和地图记录旅行足迹,同时兼容 RAW、重复文件及多种视频格式,支持 Live Photo 播放、手机后台同步和 WebDAV 访问,界面采用 PWA,可在各类设备上拥有原生应用体验,适合个人或家庭用户使用。

不过PhotoPrism对于设备配置有具体要求:4GB内存起,CPU也有一定要求。看官方手册还有树莓派支持,所以大多数NAS玩家应该不必担心。

部分效果展示

Live Photo和照片墙。

1111111.gif

左侧栏的各种分类项。

333333.gif

丰富的可配置选项。

2222222.gif

官方Demo:https://demo-zh.photoprism.app/library/browse

Docker一键部署

大家注意格式对齐,现在AI已经相当好用,可借助AI排查错误:

services:
  mariadb:
    image: mariadb:10.11
    container_name: mariadb
    restart: unless-stopped
    environment:
      - MYSQL_ROOT_PASSWORD=rootpassword     # 改成安全密码
      - MYSQL_DATABASE=photoprism
      - MYSQL_USER=photoprism
      - MYSQL_PASSWORD=photoprism
    volumes:
      - /share/Container/photoprism/mariadb:/var/lib/mysql
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-buffer-pool-size=512M
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      interval: 10s
      retries: 5
      start_period: 30s

  photoprism:
    image: photoprism/photoprism:latest
    container_name: photoprism
    depends_on:
      mariadb:
        condition: service_healthy
    restart: unless-stopped
    ports:
      - "2344:2342"   # NAS 外部访问,左侧端口可改
    environment:
      - PHOTOPRISM_ADMIN_PASSWORD=admin      # 首次登录密码,建议改
      - PHOTOPRISM_DATABASE_DRIVER=mysql
      - PHOTOPRISM_DATABASE_SERVER=mariadb:3306
      - PHOTOPRISM_DATABASE_NAME=photoprism
      - PHOTOPRISM_DATABASE_USER=photoprism
      - PHOTOPRISM_DATABASE_PASSWORD=photoprism
      - PHOTOPRISM_SITE_URL=http://192.168.200.132:2344/ # 上面改了这里也别忘记
      - PHOTOPRISM_ORIGINALS_PATH=/photoprism/originals
      - PHOTOPRISM_IMPORT_PATH=/photoprism/import
      - PHOTOPRISM_STORAGE_PATH=/photoprism/storage
      - TZ=Asia/Shanghai
    volumes:
      - /share/Phone/picture:/photoprism/originals   # 你的照片目录
      - /share/Container/photoprism/import:/photoprism/import
      - /share/Container/photoprism/storage:/photoprism/storage
      - /etc/localtime:/etc/localtime:ro

这里就不贴图了,到部署完毕要等蛮久。

PhotoPrism 使用

根据上文的代码,浏览器输入NAS_IP:2344即可访问服务。语言支持更为丰富。上面不修改的话,默认账户密码皆为admin

截屏2025-08-26 17.11.55.png

登陆界面设置中文,系统内还要再设置一次,跟威联通NAS类似。

截屏2025-08-26 17.13.44.png

创建相册,上传图片。就我的体验来说这个索引速度还不错。

截屏2025-08-26 17.35.18 拷贝.png

截屏2025-08-26 17.40.58.png

上传索引后NAS这边会自动分类。

截屏2025-08-26 18.18.50.png

关于Live Photo

这部分的体验其实不如威联通的 Qumagie。

Live Photos由 JPEG/HEIC 图像和 QuickTime AVC/HEVC 视频组成,观看时需要这两者。

建议使用 PhotoSync 之类的应用程序将实时照片上传到 PhotoPrism,因为 iOS 网络上传通常只提交 HEIC 图像文件而不提交视频。

但也可利用威联通的相册同步机制,就不用官方说的这个 PhotoSync 工具上传了。

PiGallery 2 精美的照片查看器

项目地址:https://github.com/bpatrik/pigallery2

PiGallery2 是一个轻量级 Docker 化相册服务,支持常见图片与视频格式(但不支持苹果 Live Photo),可直接读取文件夹或结合数据库实现快速搜索与分享,具备缩略图缓存、地图轨迹显示、人脸元数据标注、响应式 UI 以及视频缩略图生成等功能,适合资源有限又想要简洁浏览体验的用户。

作为一个兴趣、实用为目的而创建的应用,作者更专注于符合自己需求的功能(可惜业余时间有限)。他也并不想将这个项目变现,也没放出任何捐赠渠道,因此这款应用可能不具备适合绝大多数人的属性。

轻量体验后,我个人不是太推荐这个项目~但如果你想保留你原本的文件结构,那该项目倒值得优先考虑。

部署流程

这个的就相当简短了!如下:

services:
  pigallery2:
    image: bpatrik/pigallery2:latest # 有其他最新分支版本,可自行查看
    container_name: pigallery2
    environment:
      - NODE_ENV=production # 使用模式,可切换到开发者模式之类
    ports:
      - "8585:80" # 冒号左侧可改
    volumes:
      - "/share/Container/pigallery2/config:/app/data/config"
      - "/share/Container/pigallery2/db:/app/data/db"  # 内置 SQLite 数据库     
      - "/share/Phone/picture:/app/data/images:ro" # 你的照片路径,只读
      - "/share/Container/pigallery2/tmp:/app/data/tmp"
    restart: always

等待部署完成。

使用介绍

若按照上文进行部署,浏览器输入NAS_IP:8585即可访问服务。

可以看到也有中文支持,默认账户密码为admin

截屏2025-08-27 09.52.00.png

首次登陆会提示创建新用户,是的,他并不支持常规的修改密码。

截屏2025-08-27 10.22.43.png

上传了一些PNG、HEIC、JPG文件以及一些视频文件,新文件添加后,手动刷新界面即可。效果并不理想。元数据的抓取,图片的识别都存在某些问题。

截屏2025-08-27 11.26.47.png

总结

三者都并不完美。

Photoview 足够轻量,在提供时间线视图方面做得很不错,但它过于定式以至于不可调。

PhotoPrism 提供很棒的方式来浏览照片/视频,提供文件夹视图,支持很多现代化功能,但它更偏向完整的相册工具,因此从照片墙角度出发是最为繁重的。

PiGallery2 在展示文件夹结构方面几乎完美,但它在实际显示图片时存在各种各样的缺点,可能需要对照片进行预处理以便它更好的识别。

0

评论区