请帮助我为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插件以及如何为构建添加特殊卷?
答案 0 :(得分: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
。首先,确保you have installed Verdaccio globally,然后像这样在全球范围内安装ldap插件。
npm install --global verdaccio-ldap
最后一步,在yaml文件中遵循上面的相同配置。
我希望有帮助。