Yapi Docker

转载请注明出处
由于官方早已不维护,因此博主会长期维护最新版本
这是博主对yapi修复后的github地址:yapi, 欢迎fork

镜像

为了更方便使用,博主已经构造好了一个镜像,开箱即用 链接:docker hub

镜像构建

基于fjc0k/docker-YApi的脚本来构造镜像

FROM jayfong/yapi:latest

COPY vendors /yapi/vendors  # 将本地的venors目录下所有文件拷贝到容器内

ENV YAPI_ADMIN_ACCOUNT=admin@admin.com
ENV YAPI_ADMIN_PASSWORD=admin
ENV YAPI_CLOSE_REGISTER=true
ENV YAPI_DB_SERVERNAME=127.0.0.1
ENV YAPI_DB_PORT=27017
ENV YAPI_DB_DATABASE=yapi
ENV YAPI_MAIL_ENABLE=false
ENV YAPI_LDAP_LOGIN_ENABLE=false
ENV YAPI_PLUGINS=[]

RUN echo 'http://dl-cdn.alpinelinux.org/alpine/v3.6/main' >> /etc/apk/repositories && \
  echo 'http://dl-cdn.alpinelinux.org/alpine/v3.6/community' >> /etc/apk/repositories && \
  apk add --update --no-cache mongodb && \
  mkdir -p /data/db

EXPOSE $PORT

CMD mongod --fork --dbpath=/data/db/  --logpath=mongodb.log && node /yapi/vendors/start.js

启动容器

参数配置可看:fjc0k/docker-YApi

version: '3'

services:
  yapi-web:
    image: xuweijie1015/yapi:latest
    container_name: yapi-web
    ports:
      - 40001:3000
    environment:
      - YAPI_ADMIN_ACCOUNT=admin@admin.com
      - YAPI_ADMIN_PASSWORD=admin
      - YAPI_CLOSE_REGISTER=true
      - YAPI_DB_SERVERNAME=127.0.0.1
      - YAPI_DB_PORT=27017
      - YAPI_DB_DATABASE=yapi
      - YAPI_MAIL_ENABLE=true
      - YAPI_MAIL_HOST=xxx
      - YAPI_MAIL_PORT=xxx
      - YAPI_MAIL_FROM=xxx
      - YAPI_MAIL_AUTH_USER=xxx
      - YAPI_MAIL_AUTH_PASS=xxx
      - YAPI_PLUGINS=[{"name":"notifier","options":{"host":"http://localhost:3000"}},{"name":"pl-auto-test","options":{"host":"http://localhost:3000"}},{"name":"interface-oauth2-token"},{"name":"api-watch"}]

    volumes:
      - ../Desktop/data/db:/data/db
    restart: unless-stopped

已支持的插件

docker镜像支持以下插件,在启动文件中添加对应配置即可;想支持其他插件,可以到github提issue

  • yapi-plugin-add-user
  • yapi-plugin-api-watch
  • yapi-plugin-export-schema
  • yapi-plugin-import-swagger-customize
  • yapi-plugin-interface-oauth2-token
  • yapi-plugin-notifier
  • yapi-plugin-pl-auto-test
  • yapi-plugin-qsso
  • yapi-plugin-webhook