YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台。

Step1:准备Mongo数据库

services:

  mongo:
image: mongo
restart: always
ports:
- 27017:27017
volumes:
- $PWD/mongodata:/data/db
environment:
MONGO_INITDB_ROOT_USERNAME: MONGODB的用户名
MONGO_INITDB_ROOT_PASSWORD: MONGODB的密码 mongo-express:
image: mongo-express
restart: always
ports:
- 8081:8081
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: MONGODB的用户名
ME_CONFIG_MONGODB_ADMINPASSWORD: MONGODB的密码
ME_CONFIG_BASICAUTH_USERNAME: MONGO-EXPRESS的密码
ME_CONFIG_BASICAUTH_PASSWORD: MONGO-EXPRESS的用户名

Step2:准备YApi

准备YApi配置文件

{
"port": "3000",
"closeRegister":false,
"versionNotify": true,
"adminAccount": "admin@admin.com",
"db": {
"servername": "127.0.0.1",
"DATABASE": "yapi",
"port": 27017,
"user": "db-user",
"pass": "db-password",
"authSource": "admin"
},
"mail": {
"enable": true,
"host": "smtp.exmail.qq.com",
"port": 465,
"from": "tacey_wong@xxx.com",
"auth": {
"user": "tacey_wong@xxx.com",
"pass": ""
}
}
}

注意

  • 部分邮箱服务商要求from和auth的邮箱必须一样
  • 部分邮箱的密码是单独申请的客户端授权码
  • DB::servername请填写数据库地址,制作镜像安装YApi的时候需要在数据库初始化一些东西

Dockerfile

FROM node
MAINTAINER Tacey Wong
ENV REFRESHED_AT 2019.03.08 RUN mkdir yapi WORKDIR /yapi RUN git clone --depth=1 https://github.com/YMFE/yapi.git vendors
COPY yapi_config.json config.json
WORKDIR /yapi/vendors
RUN pwd
RUN cat ../config.json
RUN npm install --production --registry https://registry.npm.taobao.org && npm run install-server EXPOSE 3000 CMD ["node", "server/app.js"]

Step3:备份API数据

最简单的是直接备份mongodb的data文件夹。即:

volumes:
- $PWD/mongodata:/data/db

YApi 部署记录的更多相关文章

  1. 跨平台运行 Rafy 首次部署记录

    一直想在 Linux 上使用 MONO 试试运行 Rafy,最近因为业务需要,总算是真正地试验了一次.下面是本次部署记录的一些要点. Linux 这次部署,我是和两位同事一起来试验的.由于我们对 Li ...

  2. Redis集群环境的部署记录

    Redis Cluster终于出了Stable,这让人很是激动,等Stable很久了,所以还是先玩玩. 一. 集群简单概念. Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施( ...

  3. kafka 基础知识梳理及集群环境部署记录

    一.kafka基础介绍 Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特 ...

  4. Docker集中化web界面管理平台-Shipyard部署记录

    Docker图形页面管理工具基本常用的有三种: DOCKER UI,Shipyard,Portainer.对比后发现,Shipyard最强大,其次是Portainer,最后是Docker ui.之前介 ...

  5. Centos7.5基于MySQL5.7的 InnoDB Cluster 多节点高可用集群环境部署记录

    一.   MySQL InnoDB Cluster 介绍MySQL的高可用架构无论是社区还是官方,一直在技术上进行探索,这么多年提出了多种解决方案,比如MMM, MHA, NDB Cluster, G ...

  6. ProxySQL Cluster 高可用集群环境部署记录

    ProxySQL在早期版本若需要做高可用,需要搭建两个实例,进行冗余.但两个ProxySQL实例之间的数据并不能共通,在主实例上配置后,仍需要在备用节点上进行配置,对管理来说非常不方便.但是Proxy ...

  7. yapi部署文档

    windows 下 yapi部署文档 安装nodejs 安装mongodb 安装yapi 介绍 随着 web 技术的发展,前后端分离成为越来越多互联网公司构建应用的方式.前后端分离的优势是一套 Api ...

  8. RocketMQ集群部署记录

    RocketMQ集群部署记录 #引用    https://cloud.tencent.com/developer/article/1147765         一.RocketMQ基础知识介绍 A ...

  9. Centos7下ELK+Redis日志分析平台的集群环境部署记录

    之前的文档介绍了ELK架构的基础知识,日志集中分析系统的实施方案:- ELK+Redis- ELK+Filebeat - ELK+Filebeat+Redis- ELK+Filebeat+Kafka+ ...

随机推荐

  1. Java 中的 int 型转为 long 型

    先将 int 型转为 String 型,然后再将 String 转为 long 型,如下图: public class TestIntToLong { public static void main( ...

  2. C#_02.12_基础二_.NET类型存储和变量

    C#_02.12_基础二_.NET类型存储和变量 一.核心一句:C#程序是一组类型声明(留待后面慢慢体会,现在不是很理解,不强说了) 二.数据类型: 1.预定义了16种数据类型: 其中13种简单数据类 ...

  3. GMA Round 1 抛硬币

    传送门 抛硬币 扔一个硬币,正面概率为0.6.扔这枚硬币666次,正面就得3分,反面就得1分,求总分的方差. 直接套公式$np(1-p)*(X-Y)^2=666*0.6*(1-0.6)*(3-1)^2 ...

  4. Mybatis : "less than" issue in Select annotations

    I am using java7, spring 3 and mybatis Pom.xml <org.mybatis-version>3.2.8</org.mybatis-vers ...

  5. 异常处理汇总 ~ 修正果带着你的Code飞奔吧!

    异常处理汇总-运维系列 http://www.cnblogs.com/dunitian/p/4522983.html 异常处理汇总-开发工具  http://www.cnblogs.com/dunit ...

  6. Elasticsearch跨集群搜索(Cross Cluster Search)

    1.简介 Elasticsearch在5.3版本中引入了Cross Cluster Search(CCS 跨集群搜索)功能,用来替换掉要被废弃的Tribe Node.类似Tribe Node,Cros ...

  7. 【T11】提防对等实体的不友好动作

    1.好的软件应该能够处理各种可能的错误,也就是防御式编程. 2.作为服务端,应该检测客户端的终止,客户端的无效输入.

  8. phpBB3导入版面的Python脚本

    关联的数据表 在phpBB3中导入版面时, 需要处理的有两张表, 一个是 forums, 一个是 acl_groups. 如果是干净的论坛, 可以不保留安装时填入的默认分区和版面, 直接用以下语句初始 ...

  9. Mongodb系列- CRUD操作介绍

    ---恢复内容开始--- 一 Create 操作 在MongoDB中,插入操作的目标是一个集合. MongoDB中的所有写入操作在单个文档的层次上都是原子的. For examples, see In ...

  10. Python之练习数学运用代码

    1.对数函数 import math import matplotlib.pyplot as plt import numpy as np if __name__ == '__main__': x = ...