Repolode
SmilyOrg

SmilyOrg/photofield

自托管的单文件照片图库,基于 Go 和 Vue 3,可同时流畅展示大量照片且不改动原始文件。

可替代:Google Photos

Star
617
Fork
19
未关闭 Issue
38
最近提交
26天前

这是什么?

Photofield 是一款照片查看器,目标是在屏幕上同时显示尽可能多的照片,并保证显示速度。它可以打包为单个静态 Go 二进制文件运行,也提供 Docker 镜像,文件系统被视为唯一的数据源。原始照片不会被修改,应用使用 SQLite 缓存缩略图和元数据。图库可以按目录创建,时间线布局与 Google Photos 类似。

界面各处都支持缩放,并从低分辨率预览开始逐步加载。索引、EXIF 提取和主色提取作为独立步骤运行。可选接入 photofield-ai 后可实现语义搜索、人脸检测和标签功能,反向地理编码也可在本地完成。

项目目前没有用户账户和权限管理,也不适合大量客户端同时访问,因为大部分状态保存在服务端。它更适合个人或家庭使用的照片库。

核心功能

  • 01支持可缩放界面,并逐级加载多分辨率图像
  • 02提供多种布局,包括时间线视图
  • 03可选通过 photofield-ai 实现语义搜索、人脸检测和标签
  • 04原始文件只读访问,不做修改
  • 05文件索引快速,EXIF 和主色提取作为后续步骤执行
  • 06可作为单个二进制文件或 Docker 镜像部署

适用场景

  • 浏览存放在 NAS 或家用服务器上的大型个人照片库
  • 在已有照片目录上以只读方式运行图库,同时保留其他工具
  • 用自托管方案替代云端时间线视图,供单个家庭使用

快速上手

  1. 1

    使用 Docker 运行容器,并以只读方式挂载照片目录

    docker run -p 8080:8080 -v "$PWD/data:/app/data" -v "$PWD/photos:/app/photos:ro" ghcr.io/smilyorg/photofield
  2. 2

    在浏览器中打开 http://localhost:8080 查看照片集合

使用前须知

  • 不适合大量同时访问的客户端;大部分状态保存在服务器上,超过几个用户时 CPU 和内存可能吃紧。
  • 没有用户账户、身份验证或授权功能。
  • 在较慢的 CPU 或冷磁盘缓存下,首次加载集合的布局可能较慢。
  • 标签和人脸检测功能仍处于 alpha 阶段。

收录于专题

标签

常见问题

photofield 是什么?
自托管的单文件照片图库,基于 Go 和 Vue 3,可同时流畅展示大量照片且不改动原始文件。 Photofield 是一款照片查看器,目标是在屏幕上同时显示尽可能多的照片,并保证显示速度。它可以打包为单个静态 Go 二进制文件运行,也提供 Docker 镜像,文件系统被视为唯一的数据源。原始照片不会被修改,应用使用 SQLite 缓存缩略图和元数据。图库可以按目录创建,时间线布局与 Google Photos 类似。
photofield 可以免费使用吗?用的什么许可证?
photofield 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
photofield 还在维护吗?
活跃维护中。photofield 最近一次提交是在 2026年10月12日。
photofield 适合用来做什么?
浏览存放在 NAS 或家用服务器上的大型个人照片库 在已有照片目录上以只读方式运行图库,同时保留其他工具 用自托管方案替代云端时间线视图,供单个家庭使用
photofield 怎么安装和运行?
使用 Docker 运行容器,并以只读方式挂载照片目录: docker run -p 8080:8080 -v "$PWD/data:/app/data" -v "$PWD/photos:/app/photos:ro" ghcr.io/smilyorg/photofield 在浏览器中打开 http://localhost:8080 查看照片集合
在哪里获取 photofield?
源代码和安装说明在 GitHub 上:https://github.com/SmilyOrg/photofield

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目