项目简介
dazBlog是一个基于Go语言开发的博客系统,运用了Gin Web框架、MySQL数据库、Casbin权限管理系统以及gRPC服务。该系统涵盖用户管理、文章管理、AI内容生成与管理、权限控制等功能,具备优雅的API设计,支持HTTPS协议,拥有完善的文档,还支持Docker部署。
项目的主要特性和功能
- 简洁架构:项目目录结构规范清晰,利于维护与扩展。
- 认证与授权:整合JWT和Casbin进行用户认证和权限管理。
- AI内容生成:调用OpenAI的GPT - 3.5 - turbo模型自动生成文章内容摘要。
- RESTful API:遵循RESTful API设计规范,提供OpenAPI 3.0/Swagger 2.0文档。
- gRPC支持:支持gRPC服务,方便远程调用。
- 静态代码检查与测试:包含静态代码检查、单元测试、性能测试和模糊测试。
- 日志与错误处理:有独立封装的日志和错误处理模块,便于调试和问题追踪。
- Docker支持:支持Docker部署,便于快速部署和扩展。
- HTTPS支持:支持HTTPS协议,保障数据传输安全。
安装使用步骤
自行构建
- 复制项目到本地:
shell
- 进入项目目录:
shell cd dBlog
- 编译项目:
shell make tool.verify && make ca && make
- 运行项目:
shell ./_output/platforms/linux/amd64/dBlog -c configs/dazBlog.yaml
使用Docker部署
- 构建Docker镜像:
shell docker build -t dazblog-image:latest .
- 运行Docker容器:
shell docker run --network=host \ -e DB_HOST=your_db_host \ -e DB_PORT=your_db_port \ -e DB_USER=your_db_user \ -e DB_PASSWORD=your_db_password \ -e DB_NAME=your_db_name \ -e OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxx \ --restart always \ dazblog-image:latest
使用预构建的Docker镜像
- 拉取Docker镜像:
shell docker pull realdaz/dazblog
- 运行Docker容器:
shell docker run --network=host \ -e DB_HOST=your_db_host \ -e DB_PORT=your_db_port \ -e DB_USER=your_db_user \ -e DB_PASSWORD=your_db_password \ -e DB_NAME=your_db_name \ -e OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxx \ --restart always \ realdaz/dazblog
更多关于项目的详细信息和配置,请查阅项目的文档和注释。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】