docker-组成的 Verdaccio LDAP
docker-compose Verdaccio LDAP
请帮助我为 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 的完整示例
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 文件中遵循上面相同的配置。
希望对您有所帮助。
请帮助我为 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 的完整示例
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 文件中遵循上面相同的配置。
希望对您有所帮助。