前言
YApi Pro 是 YApi 的长期维护分支,我们将长期维护,及时更新、处理问题,欢迎更多社区的小伙伴一起参与。代码库地址:https://github.com/yapi-pro/yapi
安装步骤
- Docker中安装数据库:Mongodb
- Docker中安装Yapi
0、Docker环境的准备
以下操作均在linux下进行。
首先需要安装Docker,可以使用此命令一键安装:
curl -sSL https://get.daocloud.io/docker | sh
Docker 容器(Mongodb与yapi)之间网络互通需要使用 以下命令
创建一个自定义网络
docker network create yapi
1、准备数据库-Mongodb
YAPI 的使用的是MongoDB,准备镜像并启动容器如下:
- 为了数据安装,持久化存储,需要进行数据本地化保存。备份mongoDB 到宿主机,需要使用下面命令创建存储卷:
docker volume create mongo-data
- 拉取mongo的官方镜像
docker pull mongo:latest
拉取成功:
- 启动 MongoDB
docker run -d \
--name mongodb \
--restart always \
--net=yapi \
-p 27017:27017 \
-v mongo-data:/data/db \
-e MONGO_INITDB_DATABASE=yapidb \
-e MONGO_INITDB_ROOT_USERNAME=yapiroot\
-e MONGO_INITDB_ROOT_PASSWORD=yapiroot123\
mongo
命令解释:
-p 27017:27017 \端口映射
-v mongo-data:/data/db \将之前创建的本地化存储文件夹,映射到dockermongodb中。
-e 指定 MONGO_INITDB_ROOT_USERNAME 为 MongoDB 的 ROOT 用户名;MONGO_INITDB_ROOT_PASSWORD 为 MongoDB 的 ROOT 用户密码
- 查看 MongoDB 容器的启动情况
docker ps -a
- 进入 MongoDB 容器,从第 4 步查看 MongoDB 容器可以获取到容器 id.(我的容器ID为:b6b8aaaa737f )
docker exec -it b6b8aaaa737f /bin/sh
- 进入 MongoDB 容器后,进入 mongo cli
mongo localhost:27017
进入 MongoDB 的 mongo cli 后,执行以下语句进行初始化库表
use admin;
db.auth("yapiroot", "yapiroot123");
# 创建 yapi 数据库
use yapidb;
# 创建给 yapi 使用的账号和密码,限制权限
db.createUser({
user: 'yapiroot',
pwd: 'yapiroot123',
roles: [
{ role: "dbAdmin", db: "yapidb" },
{ role: "readWrite", db: "yapidb" }
]
});
# 退出 Mongo Cli
exit
# 退出容器
exit
至此数据库准备完毕
2、安装、启动 YAPI
在宿主机中,任一文件夹下,创建一个config.json配置文件。
{
"port": "3000", //YApi端口号,默认为3000
"adminAccount": "admin@admin.com",//超级管理员账户
"timeout":120000,//超时链接时间
"db": {//配置数据库
"servername": "mongo",
"DATABASE": "yapidb",//前面配置的数据库名称
"port": 27017,//mongodb端口号,要与前面一致
"user": "yapiroot",
"pass": "yapiroot123",
"authSource": ""
},
"mail": {
"enable": true,
"host": "smtp.gmail.com",
"port": 465,
"from": "*",
"auth": {
"user": "1024@gmail.com",
"pass": "xxx"
}
}
}
配置完成后,保存。在该文件所在路径下。拉取最新的镜像,并启动。
docker pull yapipro/yapi:latest
初始化数据库表
docker run -d --rm \
--name yapi-init \
--link mongodb:mongo \
--net=yapi \
-v $PWD/config.json:/yapi/config.json \
yapipro/yapi \
server/install.js
初始化管理员账号在上面的 config.json 配置中
管理员账号:admin@admin.com
初始密码是: yapi.pro
可以登录后进入个人中心修改
docker run -d \
--name yapi \
--link mongodb:mongo \
--restart always \
--net=yapi \
-p 3000:3000 \
-v $PWD/config.json:/yapi/config.json \
yapipro/yapi \
server/app.js
在服务器上验证 yapi 启动是否成功
curl localhost:3000
启动成功后,如图: