项目介绍
VanBlog 是一款使用 TypeScript 和 Vue 3 开发的一体化开源博客系统。它主要面向个人博主和技术写作者,提供了一个开箱即用的完整博客解决方案。该系统的核心特点是前后端融合的单应用架构,将管理后台和前台站点深度集成,既简化了部署流程,又保证了性能表现。采用 GPL-3.0 协议开源,VanBlog 能够帮助用户快速搭建美观、快速、功能完善的个人博客,特别适合追求轻量、易用且注重写作体验的用户。
核心功能
- 一体化架构:管理后台与前台站点深度融合为单一应用,简化部署和维护
- 响应式设计:前台界面自适应各种屏幕尺寸,在手机和电脑上均有良好体验
- 完整的博客管理:支持文章、分类、标签的创建、编辑和批量管理
- 评论系统:内置评论功能,支持审核、回复和垃圾评论过滤
- 全文搜索:提供基于关键词的站内文章搜索功能
- 数据统计:内置访问量统计、热门文章、访客分析等数据可视化
- 多用户支持:支持多个作者账号,可设置不同的权限角色
- SEO 友好:自动生成 sitemap、RSS 订阅,支持自定义 SEO 设置
- 主题系统:支持主题切换和自定义,可灵活调整博客外观
- 媒体管理:集成图片上传和管理功能,支持拖拽上传和预览
- 草稿与版本:支持文章草稿保存和编辑历史版本管理
集成方式
VanBlog 以 Docker 部署为主要特色,同时提供其他灵活的部署方式:
- 一键 Docker 部署:通过 Docker Compose 一键启动完整服务,包含前后端和数据库
- 独立部署:可分别部署前端和后端服务,适合自定义需求较高的场景
- Docker 镜像:直接使用官方 Docker 镜像快速运行:docker run -p 80:80 mereith/van-blog
- 环境要求:需要 Docker 和 Docker Compose,或 Node.js 16+ 环境
- 数据持久化:通过 Docker Volume 或绑定挂载实现数据持久化
- 反向代理:可配合 Nginx 或 Caddy 配置域名、HTTPS 和负载均衡
- 数据库支持:默认使用 SQLite,也支持切换到 MySQL 或 PostgreSQL
- 更新升级:通过拉取最新镜像并重启容器即可完成系统升级
适合的场景
VanBlog 的轻量设计和一体化架构使其特别适合以下应用场景:
- 个人技术博客:开发者、工程师记录技术心得、项目经验和学习笔记
- 内容创作者:作家、摄影师、设计师分享作品、教程和个人观点
- 学生和研究者:记录学术研究、读书笔记和实验数据
- 企业文档站:中小型企业用作内部知识库或产品文档站点
- 独立开发者:为个人项目或产品搭建配套的文档和博客
- 追求简洁的用户:不喜欢复杂配置,希望快速搭建并专注于内容创作
- Docker 爱好者:偏好容器化部署,希望维护简单、升级方便
- 作为学习项目:Vue 3 和 TypeScript 全栈开发的优秀学习案例