Shiyu Admin 是一个前后端分离的通用后台管理系统,适合快速搭建中后台、学习 RBAC 权限模型,或作为新业务系统的基础脚手架。
- 开箱即用:Docker Compose 一条命令启动前端、后端、PostgreSQL、Redis。
- 权限完整:内置用户、角色、菜单、部门、动态菜单和接口权限控制。
- 运维可见:内置系统监控、数据管理、Redis 缓存管理和操作日志审计。
- 前后端分离:后端 Go + Gin + Gorm,前端 React + Umi Max + Ant Design Pro。
- 部署友好:项目介绍页支持 GitHub Pages,服务端可部署到 Docker / Fly.io / Render 等环境。
- GitHub Pages 项目介绍页:https://rodert.github.io/ShiyuAdmin/
- GitHub 主仓库:https://github.com/Rodert/ShiyuAdmin
- Gitee 国内镜像:https://gitee.com/rodert/ShiyuAdmin
- GitCode 国内镜像:https://gitcode.com/JavaPub/ShiyuAdmin
- QQ 群:1097104678,点击加入 ShiyuAdmin 通用后台管理系统
仓库说明:GitHub 为主仓库,Issue / PR / Release 以 GitHub 为准;Gitee 和 GitCode 用于国内访问、克隆和同步备份。
当前不提供在线登录演示。需要体验完整后台,请按“开箱即用”在本地启动。
运维态势看板页面,聚合用户、角色、部门、操作日志、系统监控与访问地理分布等数据,使用 ECharts 渲染趋势、排行和地图图表,支持全屏查看。截图路径:img/dashboard.png。
本地只需要安装 Docker 和 Docker Compose。
git clone https://github.com/Rodert/ShiyuAdmin.git
cd ShiyuAdmin
docker compose -f docker-compose.yml -f docker-compose.local.yml up -d --build每次推送都会由 GitHub Actions 构建统一应用镜像并发布到 GitHub Container Registry:
ghcr.io/<GitHub 所有者>/<仓库名>。镜像会带有上海时区构建时间标签
YYYYMMDD-HHmmss、提交 SHA 标签;默认分支还会发布 latest。
生产配置 docker-compose.yml 默认拉取 GHCR 的 latest 镜像,不会从源码构建:
export SHIYU_IMAGE=ghcr.io/rodert/shiyuadmin:latest
docker compose pull shiyu-app
docker compose up -d --no-build启动后访问:
- 前端后台:http://localhost:18000
- 后端接口:http://localhost:18000/api/v1
- 健康检查:http://localhost:18000/api/v1/system/health
后端:
cd backend/shiyu-admin-backend
go run ./cmd/server前端:
cd frontend/shiyu-admin-web
npm install
npm run start:dev前端依赖请在 frontend/shiyu-admin-web 目录内安装。仓库根目录没有前端启动入口,通常不需要在根目录执行 npm install,避免生成无关的 package.json、package-lock.json 和 node_modules/。
生产默认使用 PostgreSQL。四种数据库均提供独立 Compose 配置,部署前请先停止当前数据库模式的服务,这些模式不能共享同一个 shiyu-app 容器。
| 数据库 | Compose 文件 | 适用场景 |
|---|---|---|
| PostgreSQL | docker-compose.yml |
默认生产部署、完整 Redis 能力 |
| MySQL 8.4 | docker-compose.mysql.yml |
已有 MySQL 基础设施的部署 |
| SQL Server 2022 | docker-compose.sqlserver.yml |
使用 SQL Server 的部署环境 |
| SQLite | docker-compose.sqlite.yml |
单机演示、轻量部署,无需数据库与 Redis 容器 |
# PostgreSQL(默认)
docker compose -f docker-compose.yml up -d
# MySQL
docker compose -f docker-compose.mysql.yml up -d
# SQL Server
docker compose -f docker-compose.sqlserver.yml up -d
# SQLite
docker compose -f docker-compose.sqlite.yml up -dSQL Server Compose 默认使用 Developer 版本,仅适用于开发和测试。生产环境请连接已授权的 SQL Server 实例,并修改 config.sqlserver.yaml 中的账户密码与 TLS 配置。
提交代码前建议先检查工作区:
git status --short以下文件和目录属于本地依赖、构建产物或环境配置,已通过 .gitignore 过滤,不应提交到 Git:
node_modules/dist/、build/、target/、coverage/.umi/、.umi-production/、.umi-test/.env、.env.local、.env.*.local*.log、npm-debug.log*、yarn-error.log*、pnpm-debug.log*.DS_Store、.idea/、.vscode/
| 角色 | 用户名 | 密码 | 权限 |
|---|---|---|---|
| 管理员 | admin |
Admin@123 |
全部菜单和接口权限 |
| 普通用户 | user |
User@123 |
欢迎页、仪表盘(无系统管理等配置权限) |
官网与文档站放在独立的 site/ 目录,基于 Docusaurus 构建,已配置 GitHub Actions 自动部署到 GitHub Pages,不和后台前端耦合。
- 进入仓库
Settings->Pages。 - Source 选择
Deploy from a branch。 - Branch 选择
gh-pages,目录选择/ (root)。 - 推送
main分支后,工作流会自动构建并发布 Docusaurus 站点。
关键配置:
- Workflow:
.github/workflows/frontend-pages.yml - Docusaurus 目录:
site/ - 构建产物:
site/build - GitHub Pages 子路径:
/ShiyuAdmin/
详细说明见:GitHub Pages 项目主页部署指南。
- 系统首页:欢迎语、当前角色 / 权限、系统状态、最近登录时间。
- 仪表盘:运维态势可视化看板(用户、日志、监控等),支持全屏展开;预览图见上方「数据仪表盘」与
img/dashboard.png。 - 系统管理:用户管理、角色管理、菜单管理、部门管理。
- 权限控制:JWT 登录认证、RBAC、动态路由、超级管理员权限。
- 系统监控:服务状态、运行信息、数据库状态。
- 数据管理:表结构、字段注释、基础数据查看。
- 缓存管理:查看 Redis 0-15 号库、按 Key / 类型查询缓存,支持 String、List、Set、ZSet、Hash、Stream。
- 操作日志:记录新增、修改、删除等写操作,并记录登录成功和登录失败审计日志。
| 模块 | 技术 |
|---|---|
| 后端 | Go、Gin、Gorm、Viper、JWT |
| 数据库 | PostgreSQL、MySQL、SQLite |
| 缓存 | Redis |
| 前端 | React、Umi Max、Ant Design Pro、TypeScript、ECharts |
| 部署 | Docker Compose、GitHub Actions、GitHub Pages、Render、Fly.io |
ShiyuAdmin
├── backend/shiyu-admin-backend # Go 后端
├── frontend/shiyu-admin-web # React 前端
├── site # Docusaurus 官网与文档站
├── docs # 部署与设计文档
├── img # README 预览图
├── docker-compose.yml # 本地一键启动
└── README.md
欢迎提交 Issue 和 PR。适合贡献的方向包括:通用业务模块、权限能力、部署文档、UI 体验、测试用例。
本项目使用 Apache-2.0 开源协议。
- 作者:王仕宇(JavaPub)
- 官网:https://javapub.net.cn/
- GitHub:https://github.com/Rodert/ShiyuAdmin
- Gitee:https://gitee.com/rodert/ShiyuAdmin
- GitCode:https://gitcode.com/JavaPub/ShiyuAdmin
- 公众号:
JavaPub




