README

ZrLog packages Apache License

中文 | English

ZrLog 是一款基于 Java 的开源博客系统。它提供文章、分类、标签、评论、主题、插件、静态化和在线升级等功能,内置 Markdown 编辑器,管理界面基于 React 和 Ant Design 构建。

程序主页

https://www.zrlog.com

界面预览

文章详情页

文章编辑页

文章编辑页【暗黑模式】

文章编辑页【PWA全屏】

文章编辑页【PWA全屏-打开设置抽屉】

功能特性

  1. 内容管理: 支持文章、分类、标签和评论管理。
  2. 插件扩展: 支持通过插件扩展功能(如何编写一个插件),也可以接入第三方评论服务。
  3. 主题系统: 支持自定义和切换博客主题(如何制作一套主题)。
  4. 文章编辑: 内置 Markdown 编辑器,支持常用写作和预览流程。
  5. 访问优化: 支持页面静态化和公共数据缓存。
  6. 部署形态: 推荐 Native/Zip + SQLite 或 Docker Compose + MySQL;AWS Lambda + Cloudflare D1 作为高级路径,并支持 WAR 容器部署。
  7. 运维能力: 支持数据库定时备份和在线升级。

开发规范

工程维护与验证约定见 AGENTS.md。

程序安装与部署

  • 快速体验: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 部署说明。 对外请求需要 HTTP 代理时,参见 HTTP 代理配置,可在首次连接 WebAPI 数据库前配置。

  • 推荐与高级部署

    • 推荐路径(个人或本机):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 会写入该目录。
    • 安装完成后进入后台开始创建第一篇文章。

变更日志

查看完整的变更日志

示例网站

获得支持与帮助

常见问题

Docker 模式下,输入正确的数据库信息,仍无法完成安装
  • 先检查容器网络、数据库地址和挂载目录。更多排查步骤见:排查配置文档。
其他问题检索

更多问题可查看:FAQ。

鸣谢

感谢以下优秀开源项目及服务的支持:

协议声明

ZrLog 是基于 Apache 2.0 协议 发布的开源软件。

评论

暂无评论