Skip to content

Garonix/photomato

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

111 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Photomato

现代化极简图片管理系统

Photomato 是一款基于 Go 和 React 构建的图片管理应用,支持本地目录和 S3 云存储的统一管理。

核心特性

  • 高性能浏览:虚拟滚动、自适应网格、全屏灯箱
  • 多端适配:响应式布局,支持 PWA 安装
  • 混合存储:本地目录 + S3 兼容存储(AWS、MinIO、R2 等)
  • 热配置:无需重启即可添加/修改存储源
  • 主题定制:多套主题色,一键切换

快速开始

方式一:容器化部署(推荐)

使用 Docker 部署是体验 Photomato 最简单、最快捷的方式,无需配置复杂的开发环境。

1. 准备工作

确保本地已安装 Docker 及 Docker Compose。

2. 获取代码

git clone https://github.com/Garonix/photomato.git
cd photomato

3. 构建与启动

在项目根目录下执行以下命令:

# 构建镜像
docker build -t garonix/photomato .

# 启动服务
docker compose up -d

4. 访问应用

容器启动后,请在浏览器中访问:http://localhost:8181

注意

  • Docker 部署模式下,服务默认映射至宿主机的 8181 端口。
  • 初次启动会自动创建 configphotoscache 目录。
  • 你可以直接修改 compose.yaml 文件来调整端口映射或数据卷挂载路径。

格式支持说明

Photomato 支持常见的图片和视频格式:

类型 支持的格式
图片 JPEG, PNG, GIF, WebP, BMP, TIFF, HEIC/HEIF
视频 MP4, MOV, AVI, MKV, WebM(需要 FFmpeg 插件)

HEIC/HEIF 支持

Apple 设备(iPhone、iPad)拍摄的照片默认使用 HEIC 格式。Photomato 内置原生 HEIC 解码支持(基于 gen2brain/heic 库),无需安装任何外部依赖

Docker 和本地源码运行均可直接处理 HEIC 文件。

方式二:本地源码运行

如果您需要进行二次开发或调试,可以选择本地源码运行。

1. 环境依赖

  • Go 1.22 或更高版本
  • Node.js 18 或更高版本

2. 获取代码

git clone https://github.com/Garonix/photomato.git
cd photomato

3. 启动后端服务

后端服务负责图片扫描、缩略图生成及 API 响应。

# 获取依赖并运行
go mod download
go run cmd/server/main.go

服务默认运行在 8080 端口。首次运行会自动创建 photos 目录和 config/app-config.yaml 配置文件。

4. 启动前端界面

前端提供用户交互界面。

cd web
npm install
npm run dev

访问终端输出的本地地址(通常为 http://localhost:5173)即可开启体验。

配置说明

配置文件位于 config/app-config.yaml。虽然你可以手动修改此文件,但推荐直接在网页端的「设置」页面进行可视化配置。

配置示例:

version: 1.0.0
theme_color: '#f97316'
port: 8080
aliases:
  - name: "我的摄影集"
    type: "local"
    path: "/Users/username/Pictures/Photography"
  - name: "云端备份"
    type: "s3"
    endpoint: "s3.amazonaws.com"
    bucket: "my-backup-bucket"
    access_key: "AKIA..."
    secret_key: "Secret..."
    region: "us-east-1"

版权说明

Copyright © 2026 Photomato. All rights reserved.

About

超轻量图片管理器

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages