Repolode
HoshinoSuzumi

HoshinoSuzumi/chronoframe

可自托管的个人相册应用,支持 EXIF 解析、拍摄地点识别、Live Photo 播放、相册与地图浏览。

可替代:Google PhotosApple Photos

Star
1,949
Fork
153
未关闭 Issue
32
最近提交
3小时前

这是什么?

ChronoFrame 是一个可自托管的个人相册,用于展示和管理自己的照片。上传后会自动解析 EXIF 元数据、生成预览图,并通过逆地理编码识别拍摄地点。访客可以按时间、相册或地图浏览,也能借助 WebGL 查看器放大大图。

项目支持 Live Photo 和 Motion Photo,会自动将图片与对应视频配对,支持悬停或长按播放。相册可以排序、隐藏,也可以设置密码保护。管理后台提供批量上传、元数据和评分编辑、批量下载、重新索引,并能查看任务队列与日志。

存储支持本地文件、S3 兼容服务和 OpenList,并可配置 CDN 地址。项目提供 Docker 与 Docker Compose 部署方式,首次运行时通过安装向导创建管理员并配置存储。前端基于 Vue 和 Nuxt 构建。

核心功能

  • 01上传后自动解析 EXIF、生成预览并识别拍摄地点。
  • 02支持 Live Photo 与 Motion Photo 自动配对,可悬停或长按播放。
  • 03通过 WebGL 缩放与分块渲染查看大图。
  • 04相册支持排序、隐藏和密码保护。
  • 05地图视图基于 MapLibre 或 Mapbox,可选择地名语言。
  • 06照片可存于本地磁盘、S3 兼容服务或 OpenList。

适用场景

  • 在自己的服务器上发布个人摄影作品集。
  • 向家人或客户分享带密码的相册。
  • 在地图上按拍摄地点浏览照片库。
  • 将照片存放在 S3 存储桶中,并通过相册前端对外展示。

快速上手

  1. 1

    创建包含 ChronoFrame 服务定义的 docker-compose.yml

  2. 2

    在后台启动容器

    docker compose up -d
  3. 3

    打开 http://localhost:3000,通过设置向导创建管理员并选择存储

使用前须知

  • 推荐使用 Docker 部署;从源码运行需要 Node.js 22 和 pnpm 10.34.6。
  • 公开部署应在反向代理后通过 HTTPS 提供服务。
  • 部分功能依赖地图令牌(MapLibre/Mapbox)以及 S3 或 OpenList 等可选服务。

标签

常见问题

chronoframe 是什么?
可自托管的个人相册应用,支持 EXIF 解析、拍摄地点识别、Live Photo 播放、相册与地图浏览。 ChronoFrame 是一个可自托管的个人相册,用于展示和管理自己的照片。上传后会自动解析 EXIF 元数据、生成预览图,并通过逆地理编码识别拍摄地点。访客可以按时间、相册或地图浏览,也能借助 WebGL 查看器放大大图。
chronoframe 可以免费使用吗?用的什么许可证?
chronoframe 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
chronoframe 还在维护吗?
活跃维护中。chronoframe 最近一次提交是在 2026年10月21日。
chronoframe 适合用来做什么?
在自己的服务器上发布个人摄影作品集。 向家人或客户分享带密码的相册。 在地图上按拍摄地点浏览照片库。 将照片存放在 S3 存储桶中,并通过相册前端对外展示。
chronoframe 怎么安装和运行?
创建包含 ChronoFrame 服务定义的 docker-compose.yml 在后台启动容器: docker compose up -d 打开 http://localhost:3000,通过设置向导创建管理员并选择存储
在哪里获取 chronoframe?
源代码和安装说明在 GitHub 上:https://github.com/HoshinoSuzumi/chronoframe

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

相关项目