技术栈
前端(frontend/management/)
React 19 单页应用。
| 类别 | 技术 | 版本 |
|---|---|---|
| 框架 | React | 19 |
| 构建工具 | Vite | 8 |
| 语言 | TypeScript | 7 |
| UI 组件库 | antd | 6 |
| 图标 | @ant-design/icons | 6 |
| 路由 | react-router-dom | 7 |
| HTTP 客户端 | axios | 1.20+ |
| 图表 | echarts | 6 |
| 日期处理 | dayjs | 1.11+ |
| 进度条 | nprogress | 0.2 |
| 数据校验 | zod | 4 |
| 加密 | sm-crypto | 0.5 |
| Lint / 格式化 | oxlint · prettier | — |
后端(根 main.go、internal/)
Go 单一二进制。
| 类别 | 技术 |
|---|---|
| 语言 | Go 1.26 |
| 入口 | 仓库根 main.go(go build -o GoPanel .),启动编排在 internal/app |
| Web 框架 | gin |
| 配置 / 日志 | viper / zap |
| ORM | GORM |
| API 文档 | swaggo/swag(OpenAPI 注解,构建时生成 docs/swagger.json,面板未内嵌 UI) |
| 证书签发 | mholt/acmez(ACME DNS-01)、caddyserver/certmagic |
| 容器 | moby client(Docker Engine API) |
| SSH / 终端 | golang.org/x/crypto · creack/pty · gorilla/websocket · ssh-guardian(SSH 守护) |
| 数据库 | SQLite(默认,纯 Go 驱动)/ MySQL 5.7+ / MariaDB / PostgreSQL 18+ |
| 模块路径 | cnb.cool/liumou.site/GoPanel |
| 代码质量 | gvt 钩子(格式化 / 行数 / lint / 类型 / 构建) |
架构分层
后端业务代码按四层组织:
text
handler → service → repository → modelhandler只负责参数绑定与响应service编排业务逻辑与仓储repository是唯一查询层model统一存放数据结构定义
官网与文档
| 类别 | 技术 |
|---|---|
| 站点框架 | VitePress 1.6 |
| 目录 | frontend/vitepress/ |
| 部署 | 腾讯云 EdgeOne Pages(CNB 流水线在 master push 时构建并部署) |
| 图标与配色 | brand/(SVG 源 + 取色表,python3 brand/export.py 重新导出位图) |
交付形态
面板只以二进制交付(宿主机安装,scripts/install.sh 一键安装):
| 形态 | 产物 |
|---|---|
| 二进制 | GoPanel-linux-{amd64,arm64,arm-softfloat}.tar.gz(包内同名裸二进制;入口为根包,前端经 go:embed 嵌入) |
2026-09-30 起仓库不再制作 / 推送任何 Docker 镜像(原
backend/frontend/allinone等镜像与编排文件已删除);面板自身的容器部署形态已移除。
