* docs(website): new translation for logo.md in Korean * docs(website): new translation for logo.md in Polish * docs(website): new translation for logo.md in Portuguese * docs(website): new translation for logo.md in Russian * docs(website): new translation for logo.md in Serbian (Cyrillic) * docs(website): new translation for logo.md in Chinese Simplified * docs(website): new translation for logo.md in Chinese Traditional * docs(website): new translation for logo.md in Vietnamese * docs(website): new translation for logo.md in Galician * docs(website): new translation for logo.md in Portuguese, Brazilian * docs(website): new translation for logo.md in Hindi * docs(website): new translation for logger.md in Hindi * docs(website): new translation for logger.md in Galician * docs(website): new translation for linking.md in Chinese Simplified * docs(website): new translation for logger.md in Spanish * docs(website): new translation for linking.md in Chinese Traditional * docs(website): new translation for linking.md in Vietnamese * docs(website): new translation for linking.md in Galician * docs(website): new translation for amazon.md in French * docs(website): new translation for linking.md in Hindi * docs(website): new translation for linking.md in Filipino * docs(website): new translation for linking.md in Serbian (Latin) * docs(website): new translation for linking.md in Tajik * docs(website): new translation for linking.md in Yoruba * docs(website): new translation for logger.md in Romanian * docs(website): new translation for logger.md in French * docs(website): new translation for logger.md in Arabic * docs(website): new translation for logger.md in Vietnamese * docs(website): new translation for logger.md in Czech * docs(website): new translation for logger.md in German * docs(website): new translation for logger.md in Italian * docs(website): new translation for logger.md in Japanese * docs(website): new translation for logger.md in Korean * docs(website): new translation for logger.md in Polish * docs(website): new translation for logger.md in Portuguese * docs(website): new translation for logger.md in Russian * docs(website): new translation for logger.md in Serbian (Cyrillic) * docs(website): new translation for logger.md in Chinese Simplified * docs(website): new translation for logger.md in Chinese Traditional * docs(website): new translation for install.md in Arabic * docs(website): new translation for reverse-proxy.md in German * docs(website): new translation for repositories.md in Hindi * docs(website): new translation for repositories.md in Filipino * docs(website): new translation for repositories.md in Serbian (Latin) * docs(website): new translation for repositories.md in Tajik * docs(website): new translation for repositories.md in Yoruba * docs(website): new translation for reverse-proxy.md in Romanian * docs(website): new translation for reverse-proxy.md in French * docs(website): new translation for reverse-proxy.md in Spanish * docs(website): new translation for reverse-proxy.md in Arabic * docs(website): new translation for reverse-proxy.md in Czech * docs(website): new translation for reverse-proxy.md in Italian * docs(website): new translation for repositories.md in Galician * docs(website): new translation for reverse-proxy.md in Japanese * docs(website): new translation for reverse-proxy.md in Korean * docs(website): new translation for reverse-proxy.md in Polish * docs(website): new translation for reverse-proxy.md in Portuguese * docs(website): new translation for reverse-proxy.md in Russian * docs(website): new translation for reverse-proxy.md in Serbian (Cyrillic) * docs(website): new translation for reverse-proxy.md in Chinese Simplified * docs(website): new translation for reverse-proxy.md in Chinese Traditional * docs(website): new translation for reverse-proxy.md in Vietnamese * docs(website): new translation for reverse-proxy.md in Galician * docs(website): new translation for reverse-proxy.md in Portuguese, Brazilian * docs(website): new translation for repositories.md in Portuguese, Brazilian * docs(website): new translation for repositories.md in Vietnamese * docs(website): new translation for reverse-proxy.md in Filipino * docs(website): new translation for repositories.md in French * docs(website): new translation for puppet.md in Chinese Simplified * docs(website): new translation for puppet.md in Chinese Traditional * docs(website): new translation for puppet.md in Vietnamese * docs(website): new translation for puppet.md in Galician * docs(website): new translation for puppet.md in Portuguese, Brazilian * docs(website): new translation for puppet.md in Hindi * docs(website): new translation for puppet.md in Filipino * docs(website): new translation for puppet.md in Serbian (Latin) * docs(website): new translation for puppet.md in Tajik * docs(website): new translation for puppet.md in Yoruba * docs(website): new translation for repositories.md in Romanian * docs(website): new translation for repositories.md in Spanish * docs(website): new translation for repositories.md in Chinese Traditional * docs(website): new translation for repositories.md in Arabic * docs(website): new translation for repositories.md in Czech * docs(website): new translation for repositories.md in German * docs(website): new translation for repositories.md in Italian * docs(website): new translation for repositories.md in Japanese * docs(website): new translation for repositories.md in Korean * docs(website): new translation for repositories.md in Polish * docs(website): new translation for repositories.md in Portuguese * docs(website): new translation for repositories.md in Russian * docs(website): new translation for repositories.md in Serbian (Cyrillic) * docs(website): new translation for repositories.md in Chinese Simplified * docs(website): new translation for reverse-proxy.md in Hindi * docs(website): new translation for reverse-proxy.md in Serbian (Latin) * docs(website): new translation for puppet.md in Russian * docs(website): new translation for server.md in Chinese Traditional * docs(website): new translation for server.md in Czech * docs(website): new translation for server.md in German * docs(website): new translation for server.md in Italian * docs(website): new translation for server.md in Japanese * docs(website): new translation for server.md in Korean * docs(website): new translation for server.md in Polish * docs(website): new translation for server.md in Portuguese * docs(website): new translation for server.md in Russian * docs(website): new translation for server.md in Serbian (Cyrillic) * docs(website): new translation for server.md in Chinese Simplified * docs(website): new translation for server.md in Vietnamese * docs(website): new translation for server.md in Spanish * docs(website): new translation for server.md in Galician * docs(website): new translation for server.md in Portuguese, Brazilian * docs(website): new translation for server.md in Hindi * docs(website): new translation for server.md in Filipino * docs(website): new translation for server.md in Serbian (Latin) * docs(website): new translation for server.md in Tajik * docs(website): new translation for server.md in Yoruba * docs(website): new translation for ssl.md in Romanian * docs(website): new translation for ssl.md in French * docs(website): new translation for ssl.md in Spanish * docs(website): new translation for ssl.md in Arabic * docs(website): new translation for server.md in Arabic * docs(website): new translation for server.md in French * docs(website): new translation for reverse-proxy.md in Tajik * docs(website): new translation for reverse-proxy.md in Yoruba * docs(website): new translation for server.md in Romanian * docs(website): new translation for puppet.md in Serbian (Cyrillic) * docs(website): new translation for puppet.md in Portuguese * docs(website): new translation for plugins.md in French * docs(website): new translation for plugins.md in Romanian * docs(website): new translation for plugins.md in Spanish * docs(website): new translation for puppet.md in Polish * docs(website): new translation for protect-your-dependencies.md in Filipino * docs(website): new translation for protect-your-dependencies.md in Polish * docs(website): new translation for protect-your-dependencies.md in Portuguese * docs(website): new translation for protect-your-dependencies.md in Russian * docs(website): new translation for protect-your-dependencies.md in Serbian (Cyrillic) * docs(website): new translation for protect-your-dependencies.md in Chinese Simplified * docs(website): new translation for protect-your-dependencies.md in Chinese Traditional * docs(website): new translation for protect-your-dependencies.md in Vietnamese * docs(website): new translation for protect-your-dependencies.md in Galician * docs(website): new translation for protect-your-dependencies.md in Portuguese, Brazilian * docs(website): new translation for protect-your-dependencies.md in Hindi * docs(website): new translation for protect-your-dependencies.md in Serbian (Latin) * docs(website): new translation for protect-your-dependencies.md in Japanese * docs(website): new translation for protect-your-dependencies.md in Tajik * docs(website): new translation for protect-your-dependencies.md in Yoruba * docs(website): new translation for puppet.md in Romanian * docs(website): new translation for puppet.md in French * docs(website): new translation for puppet.md in Spanish * docs(website): new translation for puppet.md in Arabic * docs(website): new translation for puppet.md in Czech * docs(website): new translation for puppet.md in German * docs(website): new translation for puppet.md in Italian * docs(website): new translation for puppet.md in Japanese * docs(website): new translation for puppet.md in Korean * docs(website): new translation for protect-your-dependencies.md in Korean * docs(website): new translation for protect-your-dependencies.md in Italian * docs(website): new translation for plugins.md in Arabic * docs(website): new translation for plugins.md in Vietnamese * docs(website): new translation for plugins.md in Czech * docs(website): new translation for plugins.md in German * docs(website): new translation for plugins.md in Italian * docs(website): new translation for plugins.md in Japanese * docs(website): new translation for plugins.md in Korean * docs(website): new translation for plugins.md in Polish * docs(website): new translation for plugins.md in Portuguese * docs(website): new translation for plugins.md in Russian * docs(website): new translation for plugins.md in Serbian (Cyrillic) * docs(website): new translation for plugins.md in Chinese Simplified * docs(website): new translation for plugins.md in Chinese Traditional * docs(website): new translation for plugins.md in Galician * docs(website): new translation for protect-your-dependencies.md in German * docs(website): new translation for plugins.md in Portuguese, Brazilian * docs(website): new translation for plugins.md in Hindi * docs(website): new translation for plugins.md in Filipino * docs(website): new translation for plugins.md in Serbian (Latin) * docs(website): new translation for plugins.md in Tajik * docs(website): new translation for plugins.md in Yoruba * docs(website): new translation for protect-your-dependencies.md in Romanian * docs(website): new translation for protect-your-dependencies.md in French * docs(website): new translation for protect-your-dependencies.md in Spanish * docs(website): new translation for protect-your-dependencies.md in Arabic * docs(website): new translation for protect-your-dependencies.md in Czech * docs(website): new translation for install.md in Czech * docs(website): new translation for linking.md in Portuguese, Brazilian * docs(website): new translation for install.md in Spanish * docs(website): new translation for caching.md in Serbian (Cyrillic) * docs(website): new translation for caching.md in Spanish * docs(website): new translation for caching.md in Arabic * docs(website): new translation for caching.md in Czech * docs(website): new translation for caching.md in German * docs(website): new translation for caching.md in Italian * docs(website): new translation for caching.md in Japanese * docs(website): new translation for caching.md in Korean * docs(website): new translation for caching.md in Polish * docs(website): new translation for caching.md in Portuguese * docs(website): new translation for caching.md in Russian * docs(website): new translation for caching.md in Chinese Simplified * docs(website): new translation for caching.md in Romanian * docs(website): new translation for caching.md in Chinese Traditional * docs(website): new translation for caching.md in Vietnamese * docs(website): new translation for caching.md in Galician * docs(website): new translation for caching.md in Portuguese, Brazilian * docs(website): new translation for caching.md in Hindi * docs(website): new translation for caching.md in Filipino * docs(website): new translation for caching.md in Serbian (Latin) * docs(website): new translation for install.md in French * docs(website): new translation for caching.md in Yoruba * docs(website): new translation for chef.md in Romanian * docs(website): new translation for chef.md in French * docs(website): new translation for caching.md in French * docs(website): new translation for best-practices.md in Yoruba * docs(website): new translation for chef.md in Arabic * docs(website): new translation for best-practices.md in Korean * docs(website): new translation for best-practices.md in Romanian * docs(website): new translation for who-is-using.md in Russian * docs(website): new translation for windows.md in Serbian (Latin) * docs(website): new translation for windows.md in Tajik * docs(website): new translation for windows.md in Yoruba * docs(website): new translation for windows.md in Hindi * docs(website): new translation for en.json in Chinese Simplified * docs(website): new translation for windows.md in Filipino * docs(website): new translation for windows.md in Portuguese, Brazilian * docs(website): new translation for who-is-using.md in Serbian (Cyrillic) * docs(website): new translation for windows.md in Spanish * docs(website): new translation for who-is-using.md in Chinese Simplified * docs(website): new translation for who-is-using.md in Chinese Traditional * docs(website): new translation for who-is-using.md in Vietnamese * docs(website): new translation for who-is-using.md in Galician * docs(website): new translation for who-is-using.md in Portuguese, Brazilian * docs(website): new translation for who-is-using.md in Hindi * docs(website): new translation for who-is-using.md in Filipino * docs(website): new translation for who-is-using.md in Serbian (Latin) * docs(website): new translation for who-is-using.md in Tajik * docs(website): new translation for who-is-using.md in Yoruba * docs(website): new translation for windows.md in Romanian * docs(website): new translation for windows.md in French * docs(website): new translation for windows.md in Arabic * docs(website): new translation for windows.md in Galician * docs(website): new translation for windows.md in Czech * docs(website): new translation for windows.md in German * docs(website): new translation for windows.md in Italian * docs(website): new translation for windows.md in Japanese * docs(website): new translation for windows.md in Korean * docs(website): new translation for windows.md in Polish * docs(website): new translation for windows.md in Portuguese * docs(website): new translation for windows.md in Russian * docs(website): new translation for windows.md in Serbian (Cyrillic) * docs(website): new translation for windows.md in Chinese Simplified * docs(website): new translation for windows.md in Chinese Traditional * docs(website): new translation for windows.md in Vietnamese
5.1 KiB
id | title |
---|---|
plugins | Plugins |
Verdaccio is a pluggable application. It can be extended in many ways, either new authentication methods, adding endpoints or using a custom storage.
There are 5 types of plugins:
- Authentication
- Middleware
- Storage
- Custom Theme and filters
If you are interested to develop your own plugin, read the development section.
Usage
Installation
$> npm install --global verdaccio-activedirectory
verdaccio
as a sinopia fork it has backward compability with plugins that are compatible with sinopia@1.4.0
. In such case the installation is the same.
$> npm install --global sinopia-memory
Configuration
Open the config.yaml
file and update the auth
section as follows:
The default configuration looks like this, due we use a build-in htpasswd
plugin by default that you can disable just commenting out the following lines.
Authentication Configuration
htpasswd:
file: ./htpasswd
# max_users: 1000
and replacing them with (in case you decide to use a ldap
plugin.
auth:
activedirectory:
url: "ldap://10.0.100.1"
baseDN: 'dc=sample,dc=local'
domainSuffix: 'sample.local'
Multiple Authentication plugins
This is technically possible, making the plugin order important, as the credentials will be resolved in order.
auth:
htpasswd:
file: ./htpasswd
#max_users: 1000
activedirectory:
url: "ldap://10.0.100.1"
baseDN: 'dc=sample,dc=local'
domainSuffix: 'sample.local'
Middleware Configuration
This is an example how to set up a middleware plugin. All middleware plugins must be defined in the middlewares namespace.
middlewares:
audit:
enabled: true
You might follow the audit middle plugin as base example.
Storage Configuration
This is an example how to set up a storage plugin. All storage plugins must be defined in the store namespace.
store:
memory:
limit: 1000
Theme Configuration
Verdaccio allows to replace the User Interface with a custom one, we call it theme. By default, uses @verdaccio/ui-theme
that comes built-in, but, you can use something different installing your own plugin.
$> npm install --global verdaccio-theme-dark
The plugin name prefix must start with
verdaccio-theme
, otherwise the plugin won't load.
You can load only one theme at a time and pass through options if you need it.
theme:
dark:
option1: foo
option2: bar
Legacy plugins
Sinopia Plugins
If you are relying on any sinopia plugin, remember are deprecated and might no work in the future.
- sinopia-npm: auth plugin for sinopia supporting an npm registry.
- sinopia-memory: auth plugin for sinopia that keeps users in memory.
- sinopia-github-oauth-cli.
- sinopia-crowd: auth plugin for sinopia supporting atlassian crowd.
- sinopia-activedirectory: Active Directory authentication plugin for sinopia.
- sinopia-github-oauth: authentication plugin for sinopia2, supporting github oauth web flow.
- sinopia-delegated-auth: Sinopia authentication plugin that delegates authentication to another HTTP URL
- sinopia-altldap: Alternate LDAP Auth plugin for Sinopia
- sinopia-request: An easy and fully auth-plugin with configuration to use an external API.
- sinopia-htaccess-gpg-email: Generate password in htaccess format, encrypt with GPG and send via MailGun API to users.
- sinopia-mongodb: An easy and fully auth-plugin with configuration to use a mongodb database.
- sinopia-htpasswd: auth plugin for sinopia supporting htpasswd format.
- sinopia-leveldb: a leveldb backed auth plugin for sinopia private npm.
- sinopia-gitlabheres: Gitlab authentication plugin for sinopia.
- sinopia-gitlab: Gitlab authentication plugin for sinopia
- sinopia-ldap: LDAP auth plugin for sinopia.
- sinopia-github-oauth-env Sinopia authentication plugin with github oauth web flow.
All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as verdaccio-xx-name.