cnpmjs.org部署私有npm源

项目

cnpm/cnpmjs.org

Docker部署方式:

  1. 创建配置文件
mkdir /root/.cnpmjs.org
vim /root/.cnpmjs.org/config.json

config.json

{
  "bindingHost": "0.0.0.0",
  "scopes": [
    "@company"
  ],
  "registryHost": "192.168.16.25:7001"
}
  1. 使用Docker启动
    这里supermp/cnpmjs.org是第三方镜像,也可以自己制作。
docker pull supermp/cnpmjs.org
docker run -d --name cnpmjs.org -v /root/.cnpmjs.org/:/root/.cnpmjs.org/ -p 7001:7001 -p 7002:7002 supermp/cnpmjs.org

配置详细说明

详见 /config/index.js。

{
  "registryPort": 7001, // cnpmjs.org web 站点端口
  "webPort": 7002, // cnpmjs.org register 端口
  "bindingHost": "0.0.0.0", // 允许外部访问
  "handleSyncRegistry": "https://registry.npmjs.org", // 同步源
  "registryHost": "registry.npm.xxxxxx.work", // cnpmjs.org register 域名, 必须与实际使用地址一致
  "scopes": [
    "@xxxxxx" // 私有包 scope 名称。不附带此scope的包不能publish
  ],
  "enablePrivate": false, // 允许所有登录用户发布私有包;否则只允许管理员
  "syncModel": "none", // 不同步公共包
  "alwaysAuth": false, // 不强制每次请求时用户认证
  "customReadmeFile": "/root/.cnpmjs.org/docs/web/readme.md", // 自定义首页
  "userService": "/root/.cnpmjs.org/services/custom_user_service.js", // 自定义用户认证
  "admins": {
    "admin": "[email protected]" // cnpmjs.org 管理员
  },
  "database": { // 数据库;用于持久化数据,不写则用sqlite
    "db": "cnpmjs_test", // 数据库名称
    "username": "root", // 数据库用户名
    "password": "", // 数据库密码
    "dialect": "sqlite", // 数据库类型
    "host": "127.0.0.1", // 数据库 IP
    "port": 3306, // 数据库端口
    "storage": "/root/.cnpmjs.org/data.sqlite" // sqlite 数据库位置
  }
}

使用私有帐号系统

Use-Your-Own-User-Authorization

使用自定义主页

将自定义的.md主页放置在/root/.cnpmjs.org/中,并在config.json中配置。

你可能感兴趣的:(cnpmjs.org部署私有npm源)