简介
YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
特性
- 基于 Json5 和 Mockjs 定义接口返回数据的结构和文档,效率提升多倍
- 扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性
- 类似 postman 的接口调试
- 自动化测试, 支持对 Response 断言
- MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据
- 支持 postman, har, swagger 数据导入
- 免费开源,内网部署,信息再也不怕泄露了
安装
方法一
代码语言:javascript复制# 安装docker
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 bridge-utils git
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod x /usr/local/bin/docker-compose
mkdir /etc/docker
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://plqjafsr.mirror.aliyuncs.com"]
}
systemctl start docker && systemctl enable docker
systemctl daemon-reload
git clone https://github.com/Ryan-Miao/docker-yapi.git
cd docker-yapi
docker-compose up
方法二
代码语言:javascript复制git clone https://gitee.com/fjc0k/docker-YApi.git
cd docker-YApi/
# 修改 docker-compose.yml 中 yapi-web 下的环境变量 YAPI_ADMIN_ACCOUNT 为你的管理员邮箱,YAPI_ADMIN_PASSWORD 为你的管理员密码。
[root@yapi docker-YApi]# vim docker-compose.yml
- YAPI_ADMIN_ACCOUNT=18621048481@163.com
- YAPI_ADMIN_PASSWORD=VABNCJEMRRYIQYXD
[root@yapi docker-YApi]# docker-compose up -d
通过环境变量配置(推荐)
通过环境变量配置的选项会覆盖通过config.json或者config.js配置的选项。
基础配置
环境变量名称 | 类型 | 说明 | 示例 |
---|---|---|---|
YAPI_ADMIN_ACCOUNT | string | 管理员账号(邮箱) | admin@foo.bar |
YAPI_ADMIN_PASSWORD | string | 管理员密码 | adm1n |
| 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/yapidb?slaveOk=true |
| 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 |
| YAPI_MAIL_OPTIONS | json | 传递给 Nodemailer 的额外选项,一般不用设置。请参考: Nodemailer > SMTP transport | {"tls":{"rejectUnauthorized":false}} |
LDAP 登录配置
点击查看 YApi 仓库下 LDAP 相关的 issues