YAPI部署
简介
YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
特性
- 基于 Json5 和 Mockjs 定义接口返回数据的结构和文档,效率提升多倍
- 扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性
- 类似 postman 的接口调试
- 自动化测试, 支持对 Response 断言
- MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据
- 支持 postman, har, swagger 数据导入
- 免费开源,内网部署,信息再也不怕泄露了
安装
[root@nginx yapi]# cat docker-compose.yaml
version: '3'
services:
yapi-web:
image: liuqingzheng/yapi:latest
container_name: yapi-web
ports:
- 3000:3000
environment:
- YAPI_ADMIN_ACCOUNT=admin@neoderm.cn
- YAPI_ADMIN_PASSWORD=Neoderm@2022
- YAPI_CLOSE_REGISTER=false
- YAPI_DB_SERVERNAME=yapi-mongo
- YAPI_DB_PORT=27017
- YAPI_DB_DATABASE=yapi
- YAPI_MAIL_ENABLE=true
- YAPI_MAIL_HOST=mail.ndgratus.cn
- YAPI_MAIL_PORT=25
- YAPI_MAIL_FROM=yapi@ndgratus.cn
- YAPI_MAIL_AUTH_USER=yapi@ndgratus.cn
- YAPI_MAIL_AUTH_PASS=Nd123456
- YAPI_LDAP_LOGIN_ENABLE=false
- YAPI_PLUGINS=[]
depends_on:
- yapi-mongo
restart: unless-stopped
yapi-mongo:
image: mongo:latest
container_name: yapi-mongo
volumes:
- /data/mongo/db:/data/db
expose:
- 27017
环境变量配置
通过环境变量配置的选项会覆盖通过config.json或者config.js配置的选项
基础配置
环境变量名称 | 类型 | 说明 | 示例 |
---|---|---|---|
YAPI_ADMIN_ACCOUNT | string管理员账号(邮箱) | admin@foo.bar | |
YAPI_ADMIN_PASSWORD | string | 管理员密码 | admin |
| YAPI_CLOSE_REGISTER | boolean | 是否关闭注册,由于 docker-YApi 已
内置相关插件,你可在关闭注册后在后台手动添加用户 | true |
| YAPI_NPM_REGISTRY | string | npm 源,目前仅在安装插件时使用,默认官方源,国内可以设为淘宝源加速 | https://registry.npm.taobao.org |
数据库配置
环境变量名称 | 类型 | 说明 | 示例 |
---|---|---|---|
YAPI_DB_SERVERNAME | string | MongoDB 服务地址 | yapi-mongo |
YAPI_DB_PORT | number | MongoDB服务端口 | 27017 |
YAPI_DB_DATABASE | string | 使用的MongoDB数据库 | yapi |
YAPI_DB_USER | string | 登录 MongoDB 服务的用户名 | root |
YAPI_DB_PASS | string登录 MongoDB 服务的用户密码 | r00t | |
YAPI_DB_AUTH_SOURCE | string | MongoDB 身份认证所用库 | admin |
YAPI_DB_CONNECT_STRING | string | 使用 MongoDB 集群时配置 | mongodb://127.0.0.100:8418,127.0.0.101:8418/ |
| YAPI_DB_OPTIONS | json | Mongoose 连接 MongoDB 服务时的额外选项,一般不用设置。请参考:Mongoose.prototype.connect() | {} |
邮件配置
环境变量名称 | 类型 | 说明 | 示例 |
---|---|---|---|
YAPI_MAIL_ENABLE | boolean | 是否启用 | true |
YAPI_MAIL_HOST | string | 邮件服务地址 | smtp.163.com |
YAPI_MAIL_PORT | number | 邮件服务端口 | 465 |
YAPI_MAIL_FROM | string | 发送人邮箱 | foo@163.com |
YAPI_MAIL_AUTH_USER | string | 登录邮件服务的用户名 | bar@163.com |
YAPI_MAIL_AUTH_PASS | string | 登录邮件服务的用户密码 | f00bar |
LDAP配置
环境变量名称 | 类型 | 说明 | 示例 |
---|---|---|---|
YAPI_LDAP_LOGIN_ENABLE | boolean | 是否启用 | true |
YAPI_LDAP_LOGIN_SERVER | string | LDAP 服务地址 | ldap://ldap.foo.bar |
YAPI_LDAP_LOGIN_BASE_DN | string | 登录 LDAP 服务的用户名 | cn=admin,dc=foo,dc=bar |
YAPI_LDAP_LOGIN_BIND_PASSWORD | string登录 LDAP 服务的用户密码 | f00bar | |
YAPI_LDAP_LOGIN_SEARCH_DN | string | 查询用户数据的路径 | ou=users,dc=foo,dc=bar |
YAPI_LDAP_LOGIN_SEARCH_STANDARD | string | 支持两种值:1、前端登录账号对应的查询字段,如:mail、uid等;2、自定义查询条件,其中%s会被前端登录账号替换,如:&(objectClass=user)(cn=%s) | - |
YAPI_LDAP_LOGIN_EMAIL_POSTFIX | string | 登录邮箱后缀 | @163.com |
YAPI_LDAP_LOGIN_EMAIL_KEY | string | LDAP 数据库存储用户邮箱的字段 | |
YAPI_LDAP_LOGIN_USERNAME_KEY | string | LDAP 数据库存储用户名的字段 | name |
插件配置
环境变量名称 | 类型 | 说明 | 示例 |
---|---|---|---|
YAPI_PLUGINS | json | 要使用的插件列表。点击查看开源 YApi 插件列表 →配置项数据格式:{“name”: “插件名称,必须去除前缀 yapi-plugin-”,“options”: “插件配置,没有配置则不必设置”}注意:安装插件会运行 YApi 自带的打包命令,其内存消耗较大,因此,在安装插件时,物理机可用内存最好大于等于4GB,否则,易出现内存溢出错误,导致插件安装失败。 | [{“name”:“gitlab”,“options”:{}}] |
访问yapi界面
ip:3000或者通过域名访问
YAPI角色设置管理员权限
YApi后端使用的是MongoDB,先进入命令行管理工具:
mongo
然后进入yapi数据库:
use yapi
随后查询下指定用户的用户id:
db.getCollection("user").find({"username":"knktc"})
也可以用邮箱来查:
db.getCollection("user").find({"email":"hello@world.com"})
查看返回数据中的“_id”字段的值,就是用户id了。
最后使用以下的语句更新指定用户的role为admin,指定用户即可变成管理员用户:
db.getCollection("user").update({"_id":2}, {$set: {"role":"admin"}})
如果需要取消管理员权限,把role设置成member即可。
本文链接:
/archives/yapi-bu-shu
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
爱吃可爱多!
喜欢就支持一下吧
打赏
微信
支付宝