mirror of https://github.com/openspug/spug
U - Update README.md and Docs
parent
1cdc5a7503
commit
7044b171f1
24
README.md
24
README.md
|
@ -36,16 +36,18 @@ Spug是一款使用Python+Flask+Element组件开发的开源运维管理系统,
|
|||
----------------------------
|
||||
```
|
||||
$ docker pull hub.qbangmang.com/spug:1.0.1
|
||||
$ docker run -d -e REGISTRY_SERVER="hub.docker.com:5000" -p 80:80 hub.qbangmang.com/spug:1.0.1
|
||||
$ docker run -d -e REGISTRY_SERVER="hub.qbangmang.com:5000" -p 80:80 hub.qbangmang.com/spug:1.0.1
|
||||
|
||||
$ 访问:http://主机ip
|
||||
$ 默认账号密码:admin/spug
|
||||
|
||||
# 可选参数:
|
||||
$ -e MYSQL_DATABASE="spug" //指定数据库名称
|
||||
-e MYSQL_USER="spuguser" //指定数据库用户名
|
||||
-e MYSQL_PASSWORD="spugpwd" //指定数据库密码
|
||||
-e REGISTRY_SERVER="hub.docker.com:5000" //指定私有镜像仓库
|
||||
-e REGISTRY_USER="hubuser" //指定私有镜像仓库用户名
|
||||
-e REGISTRY_PASSWORD="hubpwd" //指定私有镜像仓库密码
|
||||
$ -e MYSQL_DATABASE="spug" //指定数据库名称
|
||||
-e MYSQL_USER="spuguser" //指定数据库用户名
|
||||
-e MYSQL_PASSWORD="spugpwd" //指定数据库密码
|
||||
-e REGISTRY_SERVER="hub.qbangmang.com:5000" //指定私有镜像仓库
|
||||
-e REGISTRY_USER="hubuser" //指定私有镜像仓库用户名
|
||||
-e REGISTRY_PASSWORD="hubpwd" //指定私有镜像仓库密码
|
||||
```
|
||||
|
||||
更多Dockerfile [Dockerfile](https://github.com/openspug/spug/docs/Dockerfile)
|
||||
|
@ -65,8 +67,10 @@ $ -e MYSQL_DATABASE="spug" //指定数据库名称
|
|||
|
||||
2. Start server 启动服务端:
|
||||
$ cd spug/spug_api
|
||||
$ pip install -r requirements.txt
|
||||
$ python main.py
|
||||
$ pip install -r requirements.txt //安装依赖包
|
||||
$ python manage.py init_db //初始化数据库
|
||||
$ python manage.py create_admin //创建管理员
|
||||
$ python main.py //启动服务
|
||||
|
||||
3. Start web 启动前端:
|
||||
$ cd spug/spug_web
|
||||
|
@ -86,7 +90,7 @@ $ -e MYSQL_DATABASE="spug" //指定数据库名称
|
|||
### Docs 开发者文档
|
||||
----------------------------
|
||||
|
||||
* [Project structure 项目结构](https://github.com/openspug/spug/docs/project_structure.md)
|
||||
* [Project structure 项目结构](https://github.com/openspug/spug/blob/master/docs/project_structure.md)
|
||||
|
||||
### Contributor 贡献者
|
||||
----------------------------
|
||||
|
|
|
@ -3,13 +3,14 @@ FROM alpine:3.6
|
|||
RUN echo -e "http://mirrors.aliyun.com/alpine/v3.6/main\nhttp://mirrors.aliyun.com/alpine/v3.6/community" > /etc/apk/repositories
|
||||
RUN apk update && apk add --no-cache ca-certificates python3 nginx mariadb nodejs-npm git
|
||||
RUN apk add --no-cache --virtual .build-deps python3-dev gcc musl-dev libffi-dev openssl-dev make \
|
||||
&& git clone https://github.com/openspug/spug.git /spug \
|
||||
&& pip3 install --no-cache-dir -r /spug/spug_api/requirements.txt \
|
||||
&& pip3 install --no-cache-dir gunicorn \
|
||||
&& pip3 install --no-cache-dir gunicorn \
|
||||
&& apk del .build-deps
|
||||
RUN cd /spug/spug_web/ && npm i -d --registry=https://registry.npm.taobao.org \
|
||||
&& npm run build \
|
||||
&& mv /var/lib/nginx/html /var/lib/nginx/html.bak && mv /spug/spug_web/dist /var/lib/nginx/html \
|
||||
&& rm -f /spug/spug_web
|
||||
&& mv /var/lib/nginx/html /var/lib/nginx/html.bak && mv /spug/spug_web/dist /var/lib/nginx/html \
|
||||
&& rm -rf /spug/spug_web
|
||||
|
||||
ADD default.conf /etc/nginx/conf.d/default.conf
|
||||
ADD entrypoint.sh /entrypoint.sh
|
||||
|
|
|
@ -37,4 +37,4 @@ sleep 2
|
|||
if [ $REQUIRE_INIT_OPS == true ]; then
|
||||
/usr/bin/python3 /scripts/init_spug.py
|
||||
fi
|
||||
gunicorn --threads=32 main:app
|
||||
gunicorn --threads=32 main:app -b 0.0.0.0:3000
|
||||
|
|
|
@ -1,5 +1,16 @@
|
|||
set -e
|
||||
|
||||
cat >> /spug/spug_api/config.py << EOF
|
||||
from pytz import timezone
|
||||
import os
|
||||
|
||||
DEBUG = True
|
||||
TIME_ZONE = timezone('Asia/Shanghai')
|
||||
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||
DOCKER_URL = 'unix:///var/run/docker.sock'
|
||||
SQLALCHEMY_ECHO = False
|
||||
|
||||
EOF
|
||||
echo "SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://${MYSQL_USER:-spuguser}:${MYSQL_PASSWORD:-spugpwd}@localhost/${MYSQL_DATABASE:-spug}'" >> /spug/spug_api/config.py
|
||||
echo "DOCKER_REGISTRY_SERVER = '${REGISTRY_SERVER}'" >> /spug/spug_api/config.py
|
||||
echo "DOCKER_REGISTRY_AUTH = {'username': '${REGISTRY_USER}', 'password': '${REGISTRY_PASSWORD}'}" >> /spug/spug_api/config.py
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import sys
|
||||
import os
|
||||
sys.path.append('/ops_api')
|
||||
sys.path.append('/spug/spug_api')
|
||||
import random
|
||||
import string
|
||||
from public import db
|
||||
|
@ -25,7 +25,7 @@ with open(os.path.join(BASE_DIR, 'libs', 'sql', 'permissions.sql'), 'r') as f:
|
|||
|
||||
# create default admin
|
||||
username = 'admin'
|
||||
password = ''.join(random.sample(string.ascii_letters + string.digits, 8))
|
||||
password = 'spug'
|
||||
User(username=username, password=password, nickname='Administrator', is_supper=True).save()
|
||||
|
||||
print('*' * 80)
|
||||
|
|
|
@ -2,89 +2,89 @@
|
|||
|
||||
|
||||
```
|
||||
├── docs // 文档相关目录
|
||||
├── docs // 文档相关目录
|
||||
├── spug_api // 后端接口目录
|
||||
│ └── apps // 后端子模块目录
|
||||
│ │ ├── account // 用户管理模块
|
||||
│ │ │ └── __init__.py // 用户模块蓝图路由
|
||||
│ │ │ └── models.py // 用户模块数据模型
|
||||
│ │ │ └── role.py // 用户权限操作相关方法
|
||||
│ │ │ └── user.py // 用户操作相关方法
|
||||
│ │ ├── apis // 公用接口模块
|
||||
│ │ │ └── models.py // 用户模块数据模型
|
||||
│ │ │ └── role.py // 用户权限操作相关方法
|
||||
│ │ │ └── user.py // 用户操作相关方法
|
||||
│ │ ├── apis // 公用接口模块
|
||||
│ │ │ └── __init__.py // 定义接口相关蓝图路由
|
||||
│ │ │ └── config.py // 客户端获取配置文件相关方法
|
||||
│ │ │ └── config.py // 客户端获取配置文件相关方法
|
||||
│ │ │ └── files.py // 文件上传相关方法
|
||||
│ │ │ └── utils.py //
|
||||
│ │ ├── assets // 资产管理模块
|
||||
│ │ │ └── __init__.py // 资产模块蓝图路由
|
||||
│ │ │ └── host.py // 主机管理相关方法
|
||||
│ │ │ └── host.py // 主机管理相关方法
|
||||
│ │ │ └── host_exec.py // 主机批量执行相关方法
|
||||
│ │ │ └── models.py // 资产模块数据模型
|
||||
│ │ │ └── models.py // 资产模块数据模型
|
||||
│ │ │ └── utils.py //
|
||||
│ │ ├── common // 公用队列模块
|
||||
│ │ │ └── __init__.py // 公用队列模块蓝图路由
|
||||
│ │ │ └── queue.py // 公用队列方法
|
||||
│ │ ├── configuration // 配置管理模块
|
||||
│ │ │ └── __init__.py // 配置管理模块蓝图路由
|
||||
│ │ │ └── app.py // 主机管理相关方法
|
||||
│ │ │ └── config.py //
|
||||
│ │ │ └── environment.py // 环境配置相关方法
|
||||
│ │ │ └── models.py // 配置管理数据模型
|
||||
│ │ │ └── service.py // 配置管理-服务配置相关方法
|
||||
│ │ ├── deploy // 应用发布模块
|
||||
│ │ │ └── app.py // 应用配置管理
|
||||
│ │ │ └── config.py //
|
||||
│ │ │ └── environment.py // 环境配置相关方法
|
||||
│ │ │ └── models.py // 配置管理数据模型
|
||||
│ │ │ └── service.py // 配置管理-服务配置相关方法
|
||||
│ │ ├── deploy // 应用发布模块
|
||||
│ │ │ └── __init__.py // 应用发布模块蓝图路由
|
||||
│ │ │ └── app.py //
|
||||
│ │ │ └── config.py //
|
||||
│ │ │ └── app.py //
|
||||
│ │ │ └── config.py //
|
||||
│ │ │ └── container.py //
|
||||
│ │ │ └── exec.py // 应用发布-执行发布相关方法
|
||||
│ │ │ └── field.py // 应用发布-字段管理相关方法
|
||||
│ │ │ └── host.py //
|
||||
│ │ │ └── image.py // 应用发布-镜像管理相关方法
|
||||
│ │ │ └── menu.py // 应用发布-菜单管理相关组件
|
||||
│ │ │ └── models.py // 应用发布数据模型
|
||||
│ │ │ └── publish.py // 应用发布-发布相关方法
|
||||
│ │ │ └── utils.py //
|
||||
│ │ │ └── exec.py // 应用发布-执行发布相关方法
|
||||
│ │ │ └── field.py // 应用发布-字段管理相关方法
|
||||
│ │ │ └── host.py //
|
||||
│ │ │ └── image.py // 应用发布-镜像管理相关方法
|
||||
│ │ │ └── menu.py // 应用发布-菜单管理相关组件
|
||||
│ │ │ └── models.py // 应用发布数据模型
|
||||
│ │ │ └── publish.py // 应用发布-发布相关方法
|
||||
│ │ │ └── utils.py //
|
||||
│ │ ├── home // 首页模块
|
||||
│ │ │ └── __init__.py // 首页蓝图路由
|
||||
│ │ │ └── homes.py // 首页展示数据方法
|
||||
│ │ ├── schedule // 任务管理模块
|
||||
│ │ ├── schedule // 任务管理模块
|
||||
│ │ │ └── __init__.py // 任务管理蓝图路由
|
||||
│ │ │ └── agent.py // 任务管理-执行对象相关方法
|
||||
│ │ │ └── history.py // 任务管理-任务历史
|
||||
│ │ │ └── job.py // 任务管理-任务列表相关
|
||||
│ │ │ └── models.py // 任务管理数据模型
|
||||
│ │ │ └── history.py // 任务管理-任务历史
|
||||
│ │ │ └── job.py // 任务管理-任务列表相关
|
||||
│ │ │ └── models.py // 任务管理数据模型
|
||||
│ │ │ └── scheduler.py // 任务管理方法
|
||||
│ │ ├── setting //
|
||||
│ │ ├── setting //
|
||||
│ │ │ └── __init__.py //
|
||||
│ │ │ └── models.py //
|
||||
│ │ │ └── utils.py //
|
||||
│ │ │ └── models.py //
|
||||
│ │ │ └── utils.py //
|
||||
│ │ ├── __init__.py //
|
||||
│ │ │
|
||||
│ │ │
|
||||
│ └── libs // 系统公用库目录
|
||||
│ │ ├── scripts // 公用脚本目录
|
||||
│ │ │ └── entrypoint.sh // 容器启动脚本
|
||||
│ │ ├── sql // sql目录
|
||||
│ │ ├── sql // sql目录
|
||||
│ │ │ └── permissions.sql // 系统权限SQL文件
|
||||
│ │ ├── ssh // ssh管理目录
|
||||
│ │ ├── ssh // ssh管理目录
|
||||
│ │ │ └── __init__.py // 公用ssh相关方法
|
||||
│ │ ├── template // 系统模板目录
|
||||
│ │ │ └── host.xls // 主机管理-主机导入-模板
|
||||
│ │ ├── __init__.py //
|
||||
│ │ │ └── host.xls // 主机管理-主机导入-模板
|
||||
│ │ ├── __init__.py //
|
||||
│ │ ├── decorators.py // 公用检查权限文件
|
||||
│ │ ├── middleware.py // 系统公共设置文件
|
||||
│ │ ├── model.py // 系统公用类
|
||||
│ │ ├── tool.py // 系统公用工具文件
|
||||
│ │ ├── utils.py //
|
||||
│ │ ├── utils.py //
|
||||
│ └── storage // 系统公用目录
|
||||
│ │ ├── exec_tmp // 执行目录
|
||||
│ │ ├── images // 镜像目录
|
||||
│ │ ├── publish_tmp // 发布目录
|
||||
│ └── config.py.example // 后端配置文件模板
|
||||
│ └── main.py // 后端入口文件,加载所有模块
|
||||
│ └── manage.py // 系统管理文件
|
||||
│ └── public.py // 系统公用
|
||||
│ └── main.py // 后端入口文件,加载所有模块
|
||||
│ └── manage.py // 系统管理文件
|
||||
│ └── public.py // 系统公用
|
||||
│ └── requirements.txt // 后端依赖包文件
|
||||
│
|
||||
│
|
||||
│
|
||||
├── spug_web // 前端目录
|
||||
│ └── dist // 项目编译后的静态资源目录
|
||||
|
@ -96,55 +96,55 @@
|
|||
│ │ │ │ └── PublishPermission.vue // 角色权限-发布权限组件
|
||||
│ │ │ │ └── Role.vue // 角色权限组件
|
||||
│ │ │ │ └── routes.js // 用户管理路由
|
||||
│ │ │ │ └── TagTd.vue // 权限管理标签
|
||||
│ │ │ │ └── TagTd.vue // 权限管理标签
|
||||
│ │ │ │ └── User.vue // 用户列表组件
|
||||
│ │ │ ├── assets // 主机管理目录
|
||||
│ │ │ │ └── Host.vue // 主机列表组件
|
||||
│ │ │ │ └── Host.vue // 主机列表组件
|
||||
│ │ │ │ └── HostExec.vue // 批量执行组件
|
||||
│ │ │ │ └── route.js // 主机管理路由
|
||||
│ │ │ ├── configuration // 配置管理目录
|
||||
│ │ │ │ └── App.vue // 应用配置列表组件
|
||||
│ │ │ │ └── AppConfig.vue // 应用配置-配置组件
|
||||
│ │ │ │ └── AppRel.vue // 应用配置-关系配置组件
|
||||
│ │ │ │ └── ConfigEdie.vue //
|
||||
│ │ │ │ └── Environment.vue // 环境配置组件
|
||||
│ │ │ │ └── App.vue // 应用配置列表组件
|
||||
│ │ │ │ └── AppConfig.vue // 应用配置-配置组件
|
||||
│ │ │ │ └── AppRel.vue // 应用配置-关系配置组件
|
||||
│ │ │ │ └── ConfigEdie.vue //
|
||||
│ │ │ │ └── Environment.vue // 环境配置组件
|
||||
│ │ │ │ └── route.js // 配置管理路由
|
||||
│ │ │ │ └── Service.vue // 服务管理组件
|
||||
│ │ │ │ └── Service.vue // 服务管理组件
|
||||
│ │ │ │ └── ServiceConfig.vue// 服务配置-配置组件
|
||||
│ │ │ ├── publish // 应用发布目录
|
||||
│ │ │ │ └── App.vue // 应用列表组件
|
||||
│ │ │ │ └── AppConfig.vue // 应用列表-应用设置组件
|
||||
│ │ │ │ └── AppMenu.vue //
|
||||
│ │ │ │ └── AppSetting.vue // 应用列表-容器设置组件
|
||||
│ │ │ │ └── ColorInput.vue // 发布执行命令行组件
|
||||
│ │ │ │ └── Deploy.vue // 应用发布-部署组件
|
||||
│ │ │ │ └── Field.vue // 应用发布-字段管理组件
|
||||
│ │ │ │ └── Image.vue // 应用发布-镜像管理组件
|
||||
│ │ │ │ └── Menu.vue // 应用发布-菜单管理组件
|
||||
│ │ │ ├── publish // 应用发布目录
|
||||
│ │ │ │ └── App.vue // 应用列表组件
|
||||
│ │ │ │ └── AppConfig.vue // 应用列表-应用设置组件
|
||||
│ │ │ │ └── AppMenu.vue //
|
||||
│ │ │ │ └── AppSetting.vue // 应用列表-容器设置组件
|
||||
│ │ │ │ └── ColorInput.vue // 发布执行命令行组件
|
||||
│ │ │ │ └── Deploy.vue // 应用发布-部署组件
|
||||
│ │ │ │ └── Field.vue // 应用发布-字段管理组件
|
||||
│ │ │ │ └── Image.vue // 应用发布-镜像管理组件
|
||||
│ │ │ │ └── Menu.vue // 应用发布-菜单管理组件
|
||||
│ │ │ │ └── MenuExec.vue //
|
||||
│ │ │ │ └── route.js // 应用发布路由
|
||||
│ │ │ ├── schedule // 任务管理目录
|
||||
│ │ │ │ └── Job.vue // 任务列表组件
|
||||
│ │ │ │ └── JobSetting.vue // 任务管理-设置触发器组件
|
||||
│ │ │ ├── Deny.vue // 全局权限拒绝组件
|
||||
│ │ │ ├── Home.vue // 系统Home组件
|
||||
│ │ │ ├── Layout.vue // 菜单生成组件
|
||||
│ │ │ ├── Login.vue // 系统登录组件
|
||||
│ │ ├── config // 配置目录
|
||||
│ │ │ │ └── Job.vue // 任务列表组件
|
||||
│ │ │ │ └── JobSetting.vue // 任务管理-设置触发器组件
|
||||
│ │ │ ├── Deny.vue // 全局权限拒绝组件
|
||||
│ │ │ ├── Home.vue // 系统Home组件
|
||||
│ │ │ ├── Layout.vue // 菜单生成组件
|
||||
│ │ │ ├── Login.vue // 系统登录组件
|
||||
│ │ ├── config // 配置目录
|
||||
│ │ │ ├── env.js // 项目常规配置
|
||||
│ │ │ ├── menu.js // 菜单及面包屑配置
|
||||
│ │ ├── plugins // 项目扩展目录
|
||||
│ │ ├── plugins // 项目扩展目录
|
||||
│ │ │ ├── globalTools.js // 全局变量
|
||||
│ │ ├── App.vue //
|
||||
│ │ ├── App.vue //
|
||||
│ │ ├── index.html // 首页文件
|
||||
│ │ ├── main.js // 入口文件,加载各种公共组件
|
||||
│ │ ├── main.js // 入口文件,加载各种公共组件
|
||||
│ │ ├── router.js // 公共路由
|
||||
│ └── .babelrc // ES6语法编译配置
|
||||
│ └── Makefile //
|
||||
│ └── Makefile //
|
||||
│ └── package.json // 项目及工具的依赖配置文件
|
||||
│ └── postcss.config.js //
|
||||
│ └── postcss.config.js //
|
||||
│ └── ReadME.md // 前端README
|
||||
│ └── webpack.config.js //
|
||||
│ └── webpack.config.js //
|
||||
|
||||
|
||||
```
|
Loading…
Reference in New Issue