Skip to content

NEIAPI/nei

Folders and files

NameName
Last commit message
Last commit date

Latest commit

49709aa · Mar 1, 2022

History

36 Commits
Apr 1, 2020
Apr 1, 2020
Apr 17, 2020
Apr 1, 2020
May 19, 2021
May 19, 2021
May 6, 2020
Apr 2, 2020
Apr 1, 2020
Apr 2, 2020
Apr 16, 2020
Feb 12, 2022
Mar 11, 2020
Mar 1, 2022
Apr 1, 2020
May 17, 2021
May 15, 2021

Repository files navigation

NEI

专业的研发团队协作平台。

最新说明(15/05/21)

从上周六开始,NEI每天被DDOS攻击数十小时,一度导致服务不可用,我们已经向公司申请了很多资源来尝试防止,发现成本比想像中要大很多,NEI是一款免费的开源产品,我们决定不再向公司申请更多的资源来解决这种无耻的攻击。

为此,我们不会保证免费在线版本的稳定性,请大家尽快私有化部署NEI。大家的数据都完好无损,我们近期会尽快研发导出工具,帮大家将数据导出,敬请期待。

概述

本代码仓库为 NEI 的源代码,大家可以下载进行私有部署。由于大家无法使用网易公司的网易通行证,所以登录功能需要自行接入你们公司的帐号系统,代码需要自己开发。为了功能演示方便,本仓库代码增加了站内帐号,同时去掉了网易通行证登录功能,此外,也去掉了所有和网易公司相关的基础设施,比如邮箱服务、IP 查询服务等等功能,大家视各自情况添加自己公司提供的服务即可。

部署方式

部署方式一:Docker 部署

因为有服务依赖,所以需要做容器编排,如果你使用的是 docker-compose,可以直接通过 docker-compose up -d 部署,默认服务运行在本地 8082 端口,你也可以加入 Caddy 或者 Nginx 编排用于实际生产环境。

部署方式二:普通部署

安装服务器软件

如果安装完 Node.js 后,没有自动安装 NPM,则需要手动安装。

安装依赖和构建代码

在项目根目录依次执行下述命令,并确保没有错误发生:

  • npm install nej -g
  • npm install
  • npm run build

上述过程一般都是自动化执行的,请结合你们公司的部署平台编写自动化脚本。

注意,npm install 的速度可能比较慢,可以使用淘宝源,比如 npm install --registry=https://registry.npm.taobao.org

启动应用

部署前,请确认应用的配置是否都填写正确,比如数据库的连接配置等。配置文件都放在 server/config 目录下面,其中 develop.jstest.jsonline.js 分别为本地环境测试环境线上环境的配置文件。配置文件中的参数含义应该比较清晰直白,这里就不再展开介绍。然后,运行下述命令可启动应用:

 npm start

默认情况下,应用会运行在 8082 端口上,所以如果想将应用绑定到特定域名,一般需要 Nginx 服务器,参考配置

停止应用

 npm stop

注意事项

  • NEI 没有提供恢复已被删资源的功能,根据实际经验,会存在不小心删除接口、数据模型等情形,一旦发生损失就会很严重。建议给重要的数据库表(比如 interfacedatatypeparameter等)添加删除操作的触发器,将删除的数据写入备份数据库,保证在误删除操作时可以找回数据。
  • 为了安全,请给所有可以设置密码的软件添加密码,比如 Redis 等。
  • 考虑到研发成本,NEI 只兼容 Chrome 浏览器。
  • 由于打包工具的限制,NEI 的前端 JavaScript 不支持绝大多数的 ES6 语法,不然会构建失败。
  • 部署时很有可能会遇到各种各样的环境问题,最好是让专业的运维人员来操作。
  • 如果是可以复现的问题,很可能会被很多人遇到,所以优先推荐在 issues 中进行搜索是否有相同问题。

本地开发

NEI 的前端使用的是 NEJRegularjs,后端使用的是 Koa 框架。如果想对项目进行改造,需要学习上述技术。

首次运行需要先安装依赖:

npm install

运行下面的命令可以启动本地开发:

npm run dev

文档教程

使用要求

  • 本软件遵循 MIT 协议。
  • 私有部署需要填写公司信息,公司名称加主站链接即可,请向本仓库提交 PR 或者将信息告知维护人员。

更新记录

更新记录