使用Vercel搭建完全免费的照片博客,让每一张照片都成为记忆的注脚

456 字
2 分钟
使用Vercel搭建完全免费的照片博客,让每一张照片都成为记忆的注脚

本项目修改自 sambecker/exif-photo-blog,感谢原作者的杰出工作。

项目地址:https://github.com/10000ge10000/photo-blog


功能特性#

  • 内置登录认证
  • 照片上传与 EXIF 元数据提取
  • 标签组织与浏览
  • 无限滚动
  • 明/暗色主题
  • 自动生成 Open Graph 社交分享图
  • CMD-K 全局命令面板与搜索
  • AI 生成标题/说明/标签(可选)
  • RSS 与 JSON Feeds
  • Fujifilm 胶片模拟支持

安装部署#

步骤 1:一键部署#

点击 Deploy with Vercel 按钮或 Fork 仓库后访问 https://vercel.com/new

步骤 2:配置环境变量#

必要变量#

变量说明
ADMIN_EMAIL管理员邮箱
ADMIN_PASSWORD管理员密码
AUTH_SECRET32位随机字符串(https://generate-secret.vercel.app/32)
NEXT_PUBLIC_DOMAIN站点域名
NEXT_PUBLIC_LOCALE语言设置(zh-cn)

数据库与存储#

数据库#

Vercel Postgres

  • 免费:512MB 存储、1GB 内存、10万次执行
  • 在 Vercel Storage 中创建并连接项目

对象存储(四选一)#

方案免费额度
Vercel Blob1GB 存储、10GB 流量
Cloudflare R210GB 存储、1000万次 A 类操作
AWS S3首年 5GB 存储
MinIO自建,开源免费

AI 文本生成(可选)#

  1. 开通 OpenAI 并充值
  2. 设置 OPENAI_SECRET_KEY
  3. 创建 Upstash Redis 添加速率限制
  4. 设置 AI_TEXT_AUTO_GENERATED_FIELDS

可选配置#

内容#

  • NEXT_PUBLIC_META_TITLE:浏览器标签标题
  • NEXT_PUBLIC_META_DESCRIPTION:搜索结果描述
  • NEXT_PUBLIC_NAV_TITLE:导航标题
  • NEXT_PUBLIC_PAGE_ABOUT:侧栏简介

性能#

  • NEXT_PUBLIC_STATICALLY_OPTIMIZE_PHOTOS:静态化照片页
  • NEXT_PUBLIC_IMAGE_QUALITY:图片压缩质量(默认75)

设计#

  • NEXT_PUBLIC_DEFAULT_THEME:默认主题(light/dark)
  • NEXT_PUBLIC_GRID_HOMEPAGE:网格首页布局

Cloudflare R2 配置#

创建 Bucket 并设置 CORS#

[
{
"AllowedHeaders": ["*"],
"AllowedMethods": ["GET", "PUT"],
"AllowedOrigins": ["https://your-domain.com"]
}
]

环境变量#

公有端:

  • NEXT_PUBLIC_CLOUDFLARE_R2_BUCKET
  • NEXT_PUBLIC_CLOUDFLARE_R2_ACCOUNT_ID
  • NEXT_PUBLIC_CLOUDFLARE_R2_PUBLIC_DOMAIN

私有凭据:

  • CLOUDFLARE_R2_ACCESS_KEY
  • CLOUDFLARE_R2_SECRET_ACCESS_KEY

常见问题#

问题解决方案
照片修改未生效/admin/configuration 点击 Clear Cache
构建失败关闭静态优化或检查大图
OG 图不显示启用静态化预渲染
HEIC 不支持通过 Apple 分享面板自动转 JPG

相关资源#

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助

评论区

Profile Image of the Author
一万AI分享
技术教程与资源分享
公告
从云端部署到家庭网络,从软件工具到智能硬件。 我会持续更新内容,希望能和大家一起 成长、分享、交流。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
37
分类
5
标签
113
总字数
49,431
运行时长
0
最后活动
0 天前

目录