Docker 创建 npm 私服

 记录一下如何使用 Docker 和 verdaccio 部署 NPM 私服。

docker-compose.yml

version: '3.4'
services:
  verdaccio:
    image: verdaccio/verdaccio:5.1 # 建议使用指定版本号。
    container_name: 'my_npm'
    environment:
      - VERDACCIO_PORT=4873
    ports:
      - '80:4873'
    volumes:
      - './storage:/verdaccio/storage'
      - './config:/verdaccio/conf'
      - './plugins:/verdaccio/plugins'

使用 docker-compose up -d 创建容器。稍候打开 http://localhose:80 即可访问,

修改配置

修改 ./config/config.yaml 文件

storage: /verdaccio/storage
auth:
  htpasswd:
    file: /verdaccio/conf/htpasswd
    max_users: -1 # 设置为-1 表示禁止注册 (建议一开始不设置,自己注册一个账号后再进行设置)
uplinks:
  npmjs:
    url: https://registry.npm.taobao.org/ # 如果安装包找不到时使用 taobao 源
packages:
  # 指定组织的权限
  '@company/*':
    access: $authenticated # 登录用户可查看该组织的 package
    publish: $authenticated
    unpublish: $authenticated
    proxy: npmjs # 前面设置的源文件地址
  '@wuxh/*':
    access: $all
    publish: $authenticated
    unpublish: $authenticated
    proxy: npmjs
  '**':
    access: $all
    publish: $authenticated
    unpublish: $authenticated
    proxy: npmjs
logs:
  - { type: stdout, format: pretty, level: http }
web:
  enable: true
  title: Wuxh-npm
i18n:
  web: zh-CN
publish:
  allow_offline: false

参考文档

CC BY-NC-SA 4.0 2018–PRESENT © Wuxh

cd .. md