GS Admin
地址:[Demo](https://gsadmin.suiyidian.cn/)
文档:[地址](https://kevn.gitee.io/gsadmindoc/)
---
GS Admin=gin+gorm+scui 它是golang 开发的一个企业级后台。遵循MIT开源协议。前端框架是scui,SCUI基于 Vue3、elementPlus 持续性的提供独家组件和丰富的业务模板帮助你快速搭建企业级中后台前端任务。后端框架是gin,Gin是一个golang的微框架,封装比较优雅,具有快速灵活,容错方便等特点。内置了权限管理、用户管理等基础模块儿,还支持了事件服务,方便业务解耦。后续会根据用户的反馈更新内容!
### **docker-compose(dev)**
---
#### 前置准备
**1、Docker环境的部署**
资料:[https://www.runoob.com/docker/ubuntu-docker-install.html](https://www.runoob.com/docker/ubuntu-docker-install.html)
**2、docker-compose安装**
资料:[https://www.runoob.com/docker/docker-compose.html](https://www.runoob.com/docker/docker-compose.html)
#### 一键启动
``` go
cd ${根目录}/deploy/docker-compose
docker-compose -f docker-compose-dev.yaml up #启动
docker-compose -f docker-compose-dev.yaml up -d # 后台启动
docker-compose -f docker-compose-dev.yaml down # 停止并删除容器
docker-compose -f /docker-compose-dev.yaml stop # 停止容器
```
#### 文件说明:docker-compose-dev.yaml
``` yaml
version: "3"
# 声明一个名为network的networks,subnet为network的子网地址,默认网关是177.7.0.1
networks:
network:
ipam:
driver: default
config:
- subnet: '177.7.0.0/16' #占用的网段
services:
web:
image: node:latest
container_name: gsadmin-web
hostname: gsadmin-web #可以通过容器名访问
restart: always
ports:
- '8081:8080'
depends_on:
- server
working_dir: /web # 如果docker 设置了workdir 则此处不需要设置
#若网络不太好,请自行换源,如下
#command: bash -c "yarn config set registry https://registry.npm.taobao.org --global && yarn install && yarn serve"
command: bash -c "npm install && npm run serve"
volumes: #目录挂载
- ../../web/scui:/web
networks: #声明网络
network:
ipv4_address: 177.7.0.11
server:
image: golang:1.17
container_name: "gsadmin-server"
hostname: gsadmin-server
restart: always
ports:
- '8080:8080'
depends_on: #依赖
- mysql
volumes:
- ../../service:/service
working_dir: /service # 如果docker 设置了workdir 则此处不需要设置
command: bash -c "go env -w GOPROXY=https://goproxy.cn,direct && go mod tidy && go run main.go"
links:
- mysql
networks:
network:
ipv4_address: 177.7.0.12
mysql:
image: mysql:8.0.21 # 如果您是 arm64 架构:如 MacOS 的 M1,请修改镜像为 image: mysql/mysql-server:8.0.21
container_name: gsadmin-mysql
hostname: gsadnub-mysql
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password
restart: always
ports:
- "3306:3306" # host物理直接映射端口为13306
environment:
MYSQL_ROOT_PASSWORD: '123456' # root管理员用户密码
MYSQL_DATABASE: 'gsadmin' # 初始化启动时要创建的数据库的名称
MYSQL_USER: 'gsadmin'
MYSQL_PASSWORD: '123456'
volumes:
- /home/docker/mysql:/var/lib/mysql
networks:
network:
ipv4_address: 177.7.0.13
```
#### 初始化数据
- 初始化数据 {项目目录}/service/databases/*.sql 执行里面的sql
#### 其它问题
- 前端的项目注意修改端口和容器映射端口保持一致
- 前端反向代理位置注意修改地址
- 服务端数据配置
- 服务端口要和容器相同
## 交流方式
**QQ交流群**:584407821 (1群)
**微信群**:加个人微信后,拉入
备注:gsadmin 无备注不通过
<img src="https://kevn.gitee.io/gsadmindoc/img/wx.jpg" width=300 />
## 加入贡献
GS Admin 是一个开源项目,一个开源项目的发展离不开开源社区的力量支持,如果您希望参与 GS Admin 的开发,可以先从 [issues (opens new window)](https://gitee.com/kevn/gsadmin/issues)开始,通常来说会有以下的一些步骤:
- 1.关注 [issues (opens new window)](https://gitee.com/kevn/gsadmin/issues)的动态,评论回复帮助提出疑问的用户;
- 2.根据 [issues (opens new window)](https://gitee.com/kevn/gsadmin/issues)的内容,找寻根据自己当前对项目的了解程度,去修复力所能及的 BUG 或实现功能,并以 Pull Request 的形式提交至 [kevn/gsadmin (opens new window)](https://gitee.com/kevn/gsadmin)仓库;
- 3.关注自己提交 Pull Request 的进度和状态,以推动您的 Pull Request 尽快合入主仓库;
- 4.对其他人提交的 Pull Request 进行 Code Review,并给出您的建议和看法。
- 5.坚持并持续进行上述步骤。
有疑问加站长微信联系(非本文作者)