0

请帮我为 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 插件添加到此配置以及如何为构建添加特殊卷?

4

1 回答 1

0

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

有一个完整的示例如何设置 Verdaccio + OpenLDAP

https://github.com/verdaccio/docker-examples/tree/master/ldap-verdaccio

向 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. 首先,确保您已全局安装 Verdaccio,然后像这样继续全局安装 ldap 插件。

npm install --global verdaccio-ldap

作为最后一步,在 yaml 文件中遵循与上述相同的配置。

我希望这会有所帮助。

于 2018-09-24T10:24:43.047 回答