cmdb 管理系统
项目地址 :https://gitee.com/attacker/cmdb
docker快速部署
docker pull lghost/cmdb # 拉取镜像到本地
docker run -d -p 8080:8080 --name cmdb lghost/cmdb:latest
# 运行容器
docker exec -it cmdb python manage.py createsuperuser
# 设置密码
部署详情
创建基础环境
##### 配置py虚拟环境 #####
python3 -m venv env
echo env >> .gitignore
source env/bin/activate
##### 安装pip包 #####
pip install -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com django djangorestframework djangorestframework-jwt django-simpleui==3.0 PyMySQL
pip freeze > requirements.txt
##### 生成项目和应用文件 #####
django-admin startproject website .
mkdir apps && cmd apps
django-admin startapp oauth
django-admin startapp asset
##### 创建定义组件和静态资源目录 #####
mkdir utils static
配置settings文件
import sys, os
INSTALLED_APPS = [
'simpleui', # 后台模板
......
'asset',
'rest_framework',
'oauth',
'drf_yasg', # swagger 文档
]
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated', # 登录验证
# 'utils.permissions.RbacPermission', # 自定义权限认证
),
'DEFAULT_THROTTLE_RATES': {
'user': '120/min', # 登录的用户一分钟可以访问60次
'anon': '60/min', # 游客一分钟可以访问3次
},
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
#'PAGE_SIZE': 10, # 分页设置
}
JWT_AUTH = {
'JWT_EXPIRATION_DELTA': datetime.timedelta(days=1), # Token有效时间
'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(days=7), # Token刷新有效时间
'JWT_ALLOW_REFRESH': True, # 允许刷新Token
'JWT_AUTH_HEADER_PREFIX': 'Bearer', # 定义Token携带头信息, Authorization: Bearer ...
# 'JWT_AUTH_HEADER_PREFIX': 'Token',
}
# simpleui配置项
SIMPLEUI_HOME_INFO = False
# 基础设置
DEFAULT_PWD = os.getenv('DEFAULT_PWD', '123456') # 创建用户默认密码
python manage.py makemigrations
# 为改动models创建迁移记录
python manage.py migrate
# 同步数据库
# python manage.py createsuperuser
# 建立后台管理员帐号
python manage.py runserver 0.0.0.0:8080
#启动服务
效果预览
首页:
后台:
测试demo
- 地址:http://cmdb.opsbase.cn:8000
- 用户名:demo
- 密码:demo123456