Docker部署Yapi(ubuntu)

Docker部署Yapi

文章目录

  • Docker部署Yapi
    • docker-compose.yml
    • 测试

docker-compose.yml

$ git clone https://github.com/vulhub/vulhub.git
$ cd vulhub/yapi/mongodb-inj
$ ls
1.png  config.json  docker-compose.yml  initdb.js  poc.py  README.md  README.zh-cn.md
$ cat docker-compose.yml 
version: '2'
services:mongo:image: mongo:5.0.6environment:MONGO_INITDB_ROOT_USERNAME: rootMONGO_INITDB_ROOT_PASSWORD: rootMONGO_INITDB_DATABASE: yapiweb:image: vulhub/yapi:1.10.2ports:- "3000:3000"volumes:- ./config.json:/usr/config.json- ./initdb.js:/usr/src/initdb.jsenvironment:- MONGO_ADDR=mongo:27017
$ cat config.json 
{"port": "3000","adminAccount": "admin@admin.com","timeout": 120000,"closeRegister": false,"db": {"servername": "mongo","DATABASE": "yapi","port": 27017,"user": "root","pass": "root","authSource": "admin"},"mail": {"enable": true,"host": "smtp.163.com","port": 465,"from": "***@163.com","auth": {"user": "***@163.com","pass": "*****"}}
}
# root @ liuyuelong-System-Product-Name in ~/workspace/github/vulhub/yapi/mongodb-inj on git:master x [19:34:12] 
$ cat initdb.js 
const { MongoClient } = require("mongodb");const url = `mongodb://root:root@${process.env.MONGO_ADDR}/?authSource=admin`;
MongoClient.connect(url, async function(err, client) {const database = client.db("yapi");const user = await database.collection("user").findOne();const temp = await database.collection("project").findOne();if (temp) {console.log("database has already been initialized");client.close();return}const baseid = 66;await database.collection("group").insertOne({"_id": baseid,"custom_field1": {"enable": false},"type": "private","uid": user._id,"group_name": "User-11","add_time": parseInt(Date.now()/1000),"up_time": parseInt(Date.now()/1000),"members": [],"__v": 0});await database.collection("project").insertOne({"_id": baseid,"switch_notice": true,"is_mock_open": false,"strice": false,"is_json5": false,"name": "vulhub","basepath": "","members": [],"project_type": "private","uid": user._id,"group_id": baseid,"icon": "code-o","color": "purple","add_time": parseInt(Date.now()/1000),"up_time": parseInt(Date.now()/1000),"env": [{"header": [],"name": "local","domain": "http://127.0.0.1","global": []}],"tag": [],"__v": 0});await database.collection("interface_cat").insertOne({"_id": baseid,"index": 0,"name": "公共分类","project_id": baseid,"desc": "公共分类","uid": user._id,"add_time": parseInt(Date.now()/1000),"up_time": parseInt(Date.now()/1000),"__v": 0,})await database.collection("interface_col").insertOne({"_id": baseid,"checkResponseField": {"name": "code","value": "0","enable": false},"checkScript": {"enable": false},"index": 0,"test_report": "{}","checkHttpCodeIs200": false,"checkResponseSchema": false,"name": "公共测试集","project_id": baseid,"desc": "公共测试集","uid": user._id,"add_time": parseInt(Date.now()/1000),"up_time": parseInt(Date.now()/1000),"__v": 0,})await database.collection("interface").insertOne({"_id": baseid,"edit_uid": 0,"status": "undone","type": "static","req_body_is_json_schema": false,"res_body_is_json_schema": false,"api_opened": false,"index": 0,"tag": [],"method": "GET","catid": baseid,"title": "sample","path": "/","project_id": baseid,"req_params": [],"res_body_type": "json","query_path": {"path": "/","params": []},"uid": user._id,"add_time": parseInt(Date.now()/1000),"up_time": parseInt(Date.now()/1000),"req_query": [],"req_headers": [],"req_body_form": [],"__v": 0,})await database.collection("interface_case").insertOne({"_id": baseid,"index": 0,"mock_verify": false,"enable_script": false,"uid": 11,"add_time": parseInt(Date.now()/1000),"up_time": parseInt(Date.now()/1000),"project_id": baseid,"col_id": baseid,"interface_id": baseid,"casename": "sample","req_params": [],"req_headers": [],"req_query": [],"req_body_form": [],"__v": 0})await database.collection("token").insertOne({"_id": baseid,"project_id": baseid,"token": "1cae15606ea4b223b01a","__v": 0,})await database.collection("identitycounters").updateMany({field: "_id"}, {$set: {count: baseid}})console.log("finish database initialization");client.close()
})

看看没有什么要改的,就把配置文件closeRegister设置成false,启动

$ docker-compose up -d

测试

浏览器中输入:3000
默认账号名:“admin@admin.com”,
密码:“ymfe.org”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/232677.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wsl配置问题错误总结

常用命令&#xff1a; 1.可用 Linux 发行版列表&#xff1a; wsl --list --online 2.默认情况下&#xff0c;安装的 Linux 分发版为 Ubuntu。 可以使用 -d 标志进行更改。若要更改安装的发行版&#xff1a; wsl --install -d <Distribution Name> 3.改变wsl…

〖大前端 - 基础入门三大核心之JS篇(57)〗- 继承

说明&#xff1a;该文属于 大前端全栈架构白宝书专栏&#xff0c;目前阶段免费&#xff0c;如需要项目实战或者是体系化资源&#xff0c;文末名片加V&#xff01;作者&#xff1a;哈哥撩编程&#xff0c;十余年工作经验, 从事过全栈研发、产品经理等工作&#xff0c;目前在公司…

【递归 回溯】LeetCode-78. 子集

78. 子集。 给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[],[1],…

FTP连接报530错误 Permission denied 解决方案

文章目录 1.检查vsftpd状态2.检查配置文件 1.检查vsftpd状态 service vsftpd status图中是已经启动的状态&#xff0c;如果没有启动&#xff0c;输入以下命令之一启动&#xff1a; service vsftpd start service vsftpd restart如果没安装vsftpd&#xff0c;请先安装&#xf…

自助式可视化开发,ETLCloud的集成之路

自助式可视化开发 自助式可视化开发是指利用可视化工具和平台&#xff0c;使非技术人员能够自主创建、定制和部署数据分析和应用程序的过程。 传统上&#xff0c;数据分析和应用程序开发需要专业的编程和开发技能。但是&#xff0c;自助式可视化开发工具的出现&#xff0c;使…

【贪心】LeetCode-33. 搜索旋转排序数组

33. 搜索旋转排序数组。 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], …, nums[n-1…

Python基础-文件的操作

第七章文件的操作 7.1、文件的基本操作 文件打开的格式&#xff1a; file open&#xff08;文件路径&#xff0c;读写模式&#xff09; 文件路径&#xff1a;可以写相对路径&#xff0c;也可以写绝对路径读写模式&#xff1a;r&#xff08;读取&#xff09; w&#xff08;写…

【安全】audispd调研

audispd调研 1 问题背景 在Linux中&#xff0c;当某个进程调用audit_set_pid将自己的pid保存到内核的audit模块后&#xff0c;如果有日志生成&#xff0c;kaudit内核线程就会通过netlink通信机制将审计日志发送给audit_pid&#xff0c;因此&#xff0c;只能有一个进程占用aud…

HTML有哪些列表以及具体的使用!!!

文章目录 一、HTML列表二、列表的应用1、无序列表2、有序列表3、自定义列表 三、总结 一、HTML列表 html的列表有三种&#xff0c;一种是无序列表&#xff0c;一种是有序列表&#xff0c;还有一种为自定义列表。 二、列表的应用 1、无序列表 <ul> <li>无序列表…

在GBASE南大通用ADO.NET 中调用一个存储过程

使用 GBASE南大通用ADO.NET 调用一个存储过程&#xff0c;要先创建一个GBASE南大通用Command 对象并且使用属性 CommandText 传递存储过程名&#xff0c;并将属性 CommandType 设为CommandType.StoredProcedure。为存储过程中的每个输入、输出参数创建一个GBaseCommand 参数。使…

nodejs 使用 ws/socket.io 模块 websocket 即时通讯

源码 koa-mongodb-template ws 模块 下载 npm install ws简单使用 服务端代码 const WebSocket require("ws"); const WebSocketServer WebSocket.WebSocketServer;const wss new WebSocketServer({ port: 8080 });// 监听客户端连接 wss.on("connectio…

【Linux】冯诺依曼体系结构与操作系统及其进程

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大二&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;了解冯诺依曼体系结构与操作系统&#xff0c;掌握…

我为什么从来不给患者方子?

有的患者问&#xff1a;“大夫我给您几百块钱处方费&#xff0c;拿您的方子自己去抓&#xff0c;行吗&#xff1f;” 我笑着回答&#xff1a;“不行的&#xff0c;跟钱没有关系&#xff0c;原因有以下四个。” 【1】 有的患者带方子走后&#xff0c;找抓药的人或者别的中医对…

用bash写脚本

本章主要介绍如何使用bash写脚本。 了解通配符 了解变量 了解返回值和数值运算 数值的对比 判断语句 循环语句 grep的用法是“grep 关键字 file”&#xff0c;意思是从file中过滤出含有关键字的行。 例如&#xff0c;grep root /var/log/messages&#xff0c;意思是从/var/log/…

【工作流Activiti】MyActivit的maven项目

1、Idea新建一个项目MyActivit的maven项目 2、安装插件 在 idea 里面&#xff0c;activiti 的插件叫 actiBPM&#xff0c;在插件库里面把它安装好&#xff0c;重启 idea 就行了。 3、 maven 项目中&#xff0c;并更改 pom.xml。pom 中依赖如下&#xff1a; <?xml version…

Postman使用总结-断言

让 Postman 工具 代替 人工 自动判断 预期结果 和 实际结果 是否一致 断言代码 书写在 Tests 标签页中。 查看断言结果 Test Results 标签页

安防视频云平台/可视化监控云平台EasyCVR获取设备录像失败,该如何解决?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。GB28181音视频流媒体视频平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视…

鸿蒙-arkTs:基础组件

图片组件 - Image(src: string | PixelMap | Resource) string格式&#xff1a;加载远程地址图片&#xff08;需要配置ohos.permission.INTERNET&#xff09;PixelMap格式&#xff1a;加载像素图Resource格式&#xff1a;加载本地图片&#xff08;Image($r(app.media.icon))&a…

torch.optim.lr_scheduler.LambdaLR( )函数的用法

torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda, last_epoch-1) 是 PyTorch 中的学习率调度器类之一&#xff0c;用于根据自定义的函数 lr_lambda 调整优化器的学习率 用法: torch.optim.lr_scheduler.LambdaLR(optimizer,lr_lambda,last_epoch-1)参数说明&#xf…

linux中数据库的概念、mysql的两种安装方法

数据库 数据库数据库DBsql语言关系型数据库&#xff08;SQL&#xff09;非关系型数据库&#xff08;NOSQL&#xff09;关系型数据库与非关系型数据库的区别 Mysqlmysql定义版本演化 Mysql安装Mysql源码安装准备环境清理环境安装依赖包添加MySQL用户添加mysql组创建数据目录和其…