Npm docker编写Verdaccio LDAP

Npm docker编写Verdaccio LDAP,npm,docker-compose,ldap,verdaccio,Npm,Docker Compose,Ldap,Verdaccio,请帮助我为Verdaccio+LDAP创建docker compose文件。典型组合文件 version: '3' services: verdaccio: image: verdaccio/verdaccio:latest container_name: verdaccio ports: - "4873:4873" volumes: - verdaccio:/verdaccio volumes: verdaccio:

请帮助我为Verdaccio+LDAP创建docker compose文件。典型组合文件

version: '3'

services:
  verdaccio:
    image: verdaccio/verdaccio:latest
    container_name: verdaccio
    ports:
      - "4873:4873"
    volumes:
      - verdaccio:/verdaccio

volumes:
  verdaccio:
    driver: local 

但我没有找到如何将LDAP插件添加到此配置中,以及如何为构建添加特殊卷

首先,这取决于您如何部署Verdaccio,但是,我假设您使用的是Docker

这里有一个完整的示例,说明如何设置Verdaccio+OpenLDAP

向Docker图像添加插件的关键是扩展官方图像

FROM verdaccio/verdaccio

RUN npm i && npm install verdaccio-ldap
这将扩展LDAP插件的官方安装,就这么简单

然后必须像下面这样将特定的LDAP配置添加到
config.yaml
文件中

auth:
  ldap:
    type: ldap
    client_options:
      url: "ldap://openldap:389"
      # Only required if you need auth to bind
      adminDn: "cn=admin,dc=example,dc=org"
      adminPassword: "admin"
      # Search base for users
      searchBase: "ou=People,dc=example,dc=org"
      searchFilter: "(cn={{username}})"
      # If you are using groups, this is also needed
      groupDnProperty: 'cn'
      groupSearchBase: 'ou=Groups,dc=example,dc=org'
      # If you have memberOf support on your ldap
      searchAttributes: ['*', 'memberOf']
      # Else, if you don't (use one or the other):
      # groupSearchFilter: '(memberUid={{dn}})'
      #
      # Optional, default false.
      # If true, then up to 100 credentials at a time will be cached for 5 minutes.
      cache: false
      # Optional
      reconnect: true
就这些。请检查完整的示例,了解其他仅是Docker部分的次要配置主题

除了Docker,您还可以使用纯
npm
。首先,确保然后像这样在全局范围内安装ldap插件

npm install --global verdaccio-ldap
作为最后一步,在yaml文件中遵循上面相同的配置


我希望这会有所帮助。

如何配置
软件包
以使用ldap组?该示例仅显示ldap中的个人,这不是一个好的管理方法。