开源全栈博客系统 TinkerHero-Blog:Go + Next.js 打造的高性能个人博客
一款基于 Go (Gin) + Next.js 的开源全栈博客系统,支持 Markdown 写作、OAuth 登录、全文搜索、文件上传等功能,部署简单、功能完善,适合开发者搭建个人博客。欢迎 Star 支持!
开源全栈博客系统 TinkerHero-Blog:Go + Next.js 打造的高性能个人博客
🌟 GitHub 地址:https://github.com/15574268/TinkerHero-Blog
如果你一直在寻找一款开箱即用、功能完整、技术栈现代的个人博客系统,那 TinkerHero-Blog 绝对值得你花 5 分钟了解一下。
它不是那种"仅够展示"的玩具项目,而是一套完整的生产级全栈博客解决方案 —— 从后端 API 到前端渲染,从部署方案到运维命令,一应俱全。
🚀 技术栈亮点
| 层级 | 技术选型 |
|---|---|
| 后端 | Go 1.21 · Gin · GORM · PostgreSQL · Redis · Elasticsearch |
| 前端 | Next.js · React · TypeScript · Tailwind CSS |
| 部署 | Docker · Docker Compose · OpenResty / Nginx |
为什么选这套技术栈?
- Go + Gin:高并发、低内存占用,API 响应速度极快,非常适合个人服务器资源有限的场景
- Next.js SSR:服务端渲染对 SEO 友好,个人博客被搜索引擎收录更容易
- Elasticsearch + IK 分词:支持中文全文搜索,搜索体验远超简单的数据库 LIKE 查询
- Redis 缓存:热点数据缓存,进一步提升访问速度
- Docker 一键部署:无论本地开发还是生产环境,一条命令搞定
✨ 核心功能一览
📝 内容创作
- Markdown 编辑器:支持实时预览,专注写作体验
- 分类 & 标签管理:灵活组织文章,读者快速找到感兴趣的内容
- 文章置顶:重要内容突出展示
- 封面图上传:让文章列表更有视觉吸引力
🔍 搜索与发现
- Elasticsearch 全文搜索:基于 IK 分词插件,精准支持中文语义搜索
- 相关文章推荐:读者读完一篇还想看下一篇
💬 互动功能
- 评论系统:支持访客评论,活跃博客氛围
- 邮件通知:有新评论时自动发送邮件提醒(可选配置)
🔐 用户与权限
- OAuth 登录:支持 GitHub、Google 一键登录,无需注册
- 角色权限:管理员 / 普通用户分级管理
- 后台管理界面:通过 INLINE_CODE_0 路径进入,功能完整直观
🖼️ 文件与媒体
- 图片上传:内置文件上传 API,支持大文件流式传输
- 图片水印:可选开启,保护原创内容
📦 部署有多简单?
本地开发:一条命令
git clone https://github.com/15574268/TinkerHero-Blog.git
cd TinkerHero-Blog
docker compose up -d --build
启动后访问 http://localhost:3200 即可看到博客前台,完全不需要手动安装 PostgreSQL、Redis、Elasticsearch。
生产部署:适配 1Panel
项目专门为使用 1Panel 面板管理服务器的场景设计了生产部署方案:
- 基础服务(PostgreSQL / Redis / Elasticsearch)由 1Panel 统一管理
- 博客应用通过 INLINE_CODE_1 独立部署
- OpenResty 作为反向代理,
/admin直接转发后端,前端 Node.js 不承压
整个部署流程分 6 步,README 中有详细命令,即使是第一次部署也能顺利完成。
🆚 和其他博客系统相比,优势在哪?
| 对比项 | TinkerHero-Blog | Hexo / Hugo(静态博客) | WordPress |
|---|---|---|---|
| 动态内容(评论/搜索) | ✅ 完整支持 | ❌ 需插件或第三方服务 | ✅ 支持 |
| 中文全文搜索 | ✅ Elasticsearch IK | ❌ | ⚠️ 效果一般 |
| 部署难度 | ⭐⭐ 简单 | ⭐ 极简 | ⭐⭐⭐ 较复杂 |
| 资源占用 | 🟢 低(Go 后端) | 🟢 极低 | 🔴 较高(PHP+MySQL) |
| 技术现代性 | 🟢 Go + Next.js | 🟡 传统 | 🔴 PHP |
| 可定制性 | 🟢 源码开放 | 🟡 主题限制 | 🟡 插件生态 |
| OAuth 登录 | ✅ GitHub / Google | ❌ | ⚠️ 插件 |
如果你是一名开发者,希望拥有一个技术栈现代、功能完整、完全掌控的个人博客,TinkerHero-Blog 是目前市面上少有的同时满足这些条件的开源选择。
🛠️ 适合哪些人使用?
- 后端开发者:想搭个博客记录技术心得,又不想用千篇一律的 Hexo 主题
- 全栈学习者:完整的 Go + Next.js 项目,是学习全栈开发的绝佳参考案例
- 独立开发者:需要一个有评论、搜索、后台管理的完整博客系统
- 企业内部:搭建团队技术博客或知识库
📖 快速开始
# 1. 克隆项目
git clone https://github.com/15574268/TinkerHero-Blog.git
# 2. 进入目录
cd TinkerHero-Blog
# 3. 启动(本地开发环境,含所有依赖服务)
docker compose up -d --build
# 4. 访问前台
# http://localhost:3200
# 5. 注册账号后提升为管理员
docker exec -it blog-postgres psql -U postgres -d blog \
-c "UPDATE users SET role='admin' WHERE email='your@email.com';"
# 6. 访问后台
# http://localhost:3200/admin
详细的生产部署文档、环境变量说明、常见问题解答,全部在 README 中。
🌟 支持这个项目
如果 TinkerHero-Blog 对你有帮助,最简单的支持方式就是:
Star 不仅是对作者工作的认可,也能帮助更多有需要的开发者发现这个项目。
当然,如果你在使用过程中发现 Bug 或有功能建议,欢迎提 Issue;如果你有能力贡献代码,欢迎 PR —— 开源的魅力正在于此。
项目地址: https://github.com/15574268/TinkerHero-Blog
演示站点: https://blog.railx.cn/
觉得有用?转发给你的开发者朋友,一起 Star 支持一下吧!🚀