ZrLog 是一款基于 Java 的开源博客系统。它提供文章、分类、标签、评论、主题、插件、静态化和在线升级等功能,内置 Markdown 编辑器,管理界面基于 React 和 Ant Design 构建。
- 内容管理: 支持文章、分类、标签和评论管理。
- 插件扩展: 支持通过插件扩展功能(如何编写一个插件),也可以接入第三方评论服务。
- 主题系统: 支持自定义和切换博客主题(如何制作一套主题)。
- 文章编辑: 内置 Markdown 编辑器,支持常用写作和预览流程。
- 访问优化: 支持页面静态化和公共数据缓存。
- 部署形态: 推荐 Native/Zip + SQLite 或 Docker Compose + MySQL;AWS Lambda + Cloudflare D1 作为高级路径,并支持 WAR 容器部署。
- 运维能力: 支持数据库定时备份和在线升级。
- 在 IDE 中运行
com.zrlog.web.Application的main()方法进行调试。 - 通过 Maven 脚本启动(不依赖 IDE):
- Windows 环境执行
bin\mvn-run.cmd - Unix 平台执行
sh bin/mvn-run.sh
- Windows 环境执行
面向 AI Agent 和跨仓库开发的主工程入口见 AGENTS.md。涉及 zrlog-base、zrlog-admin-web、zrlog-blog-web、zrlog-install-web 的联动时,先确认对应仓库边界,再回到本仓库做集成和打包验证。
-
快速体验:Docker
使用容器启动服务,并持久化配置目录:
docker run -p 8080:8080 -v $(pwd)/conf:/opt/zrlog/conf zrlog/zrlog启动后访问
http://localhost:8080/install。安装页会检查配置目录、数据库连接和安装锁文件,并在安装过程中显示实际执行进度。 安装令牌默认关闭,以减少首次使用步骤;安装完成后,install.lock会阻止重复安装。未安装实例若直接暴露到公网,仍可能被他人抢先初始化;公网或无人值守部署应在启动前显式设置ZRLOG_INSTALL_TOKEN。不同发布形态的配置方式见安装说明。 需要同时启动 MySQL 时,参见 Docker Compose 部署说明。 -
推荐与高级部署
- 推荐路径(个人或本机):Native/Zip + SQLite。Native Image 发行包免装 JDK;Zip 运行需要 JDK
>= 11。 - 推荐路径(服务器):Docker Compose + MySQL。官方 Compose 配置包含 MySQL、健康检查和持久化卷。
- 高级路径:AWS Lambda + Cloudflare D1。使用 Linux FaaS 包,并通过 WebApi 连接 D1。
- Zip 包下载后解压,在目录中运行
bin/start.sh,Windows 使用bin/start.bat。 - 尚未安装时,可在安装页直接升级,也可运行
./zrlog upgrade(Native Image)或java -jar zrlog-starter.jar upgrade(Zip);upgrade是子命令,不使用--upgrade。 - WAR 是其他支持形态,适合已有 Tomcat / Jetty 与外部数据库的部署流程。
- Docker 部署请确认
/opt/zrlog/conf已挂载到持久化目录;db.properties和install.lock会写入该目录。 - 安装完成后进入后台开始创建第一篇文章。
- 推荐路径(个人或本机):Native/Zip + SQLite。Native Image 发行包免装 JDK;Zip 运行需要 JDK
-
开发者启动
本地调试优先使用 IDE 运行
com.zrlog.web.Application,或使用上方 Maven 脚本启动。
- 演示站点: https://demo.zrlog.com
- 后台管理地址: admin/login
- 演示账号: admin
- 演示密码: 123456
- 微信号: hibegin
- 邮件支持: [email protected]
- 缺陷反馈与建议: 欢迎在 反馈页面 或 GitHub Issues 中提交
- 先检查容器网络、数据库地址和挂载目录。更多排查步骤见:排查配置文档。
更多问题可查看:FAQ。
感谢以下优秀开源项目及服务的支持:
ZrLog 是基于 Apache 2.0 协议 发布的开源软件。




