2013-06-13 16:21:14 +02:00
|
|
|
# path to a directory with all packages
|
|
|
|
storage: ./storage
|
|
|
|
|
2014-09-06 21:53:28 +02:00
|
|
|
web:
|
2017-08-28 16:42:26 +02:00
|
|
|
# WebUI is enabled as default, if you want disable it, just uncomment this line
|
|
|
|
#enable: false
|
2014-09-06 21:53:28 +02:00
|
|
|
|
2016-08-20 18:46:54 +02:00
|
|
|
title: Verdaccio
|
2017-06-17 10:50:49 +02:00
|
|
|
|
2014-09-06 21:53:28 +02:00
|
|
|
# logo: logo.png
|
2017-06-17 10:50:49 +02:00
|
|
|
|
2014-09-02 02:27:04 +02:00
|
|
|
auth:
|
|
|
|
htpasswd:
|
2014-09-14 17:57:39 +02:00
|
|
|
file: ./htpasswd
|
2017-08-28 16:42:26 +02:00
|
|
|
# Maximum amount of users allowed to register, defaults to "+infinity".
|
2014-09-30 09:53:22 +02:00
|
|
|
# You can set this to -1 to disable registration.
|
2014-09-02 02:27:04 +02:00
|
|
|
#max_users: 1000
|
2014-06-26 18:21:23 +02:00
|
|
|
|
2013-09-24 06:27:47 +02:00
|
|
|
# a list of other known repositories we can talk to
|
2013-06-13 16:21:14 +02:00
|
|
|
uplinks:
|
|
|
|
npmjs:
|
|
|
|
url: https://registry.npmjs.org/
|
|
|
|
|
2014-03-08 04:49:59 +01:00
|
|
|
# amount of time to wait for repository to respond
|
2013-12-07 23:37:27 +01:00
|
|
|
# before giving up and use the local cached copy
|
2014-03-08 04:49:59 +01:00
|
|
|
#timeout: 30s
|
2013-12-04 20:39:29 +01:00
|
|
|
|
2014-03-08 04:49:59 +01:00
|
|
|
# maximum time in which data is considered up to date
|
2013-10-22 10:34:07 +02:00
|
|
|
#
|
|
|
|
# default is 2 minutes, so server won't request the same data from
|
|
|
|
# uplink if a similar request was made less than 2 minutes ago
|
2014-03-08 04:49:59 +01:00
|
|
|
#maxage: 2m
|
2013-10-22 10:34:07 +02:00
|
|
|
|
2014-03-13 19:32:44 +01:00
|
|
|
# if two subsequent requests fail, no further requests will be sent to
|
|
|
|
# this uplink for five minutes
|
|
|
|
#max_fails: 2
|
|
|
|
#fail_timeout: 5m
|
|
|
|
|
|
|
|
# timeouts are defined in the same way as nginx, see:
|
|
|
|
# http://wiki.nginx.org/ConfigNotation
|
|
|
|
|
2016-10-05 12:56:03 +02:00
|
|
|
# add/override HTTP headers sent to the uplink server
|
|
|
|
# this allows for HTTP Basic auth for example:
|
|
|
|
#headers:
|
|
|
|
# authorization: "Basic YourBase64EncodedCredentials=="
|
|
|
|
|
2017-03-04 00:39:26 +01:00
|
|
|
# set this to false to prevent tarballs from this upstream
|
|
|
|
# to be stored in the local storage (defaults to true)
|
|
|
|
#cache: false
|
|
|
|
|
2018-03-17 15:47:28 +01:00
|
|
|
# set this to false to disable strict SSL cert check (defaults to true)
|
|
|
|
#strict_ssl: false
|
|
|
|
|
2013-06-13 16:21:14 +02:00
|
|
|
packages:
|
2017-08-02 20:46:06 +02:00
|
|
|
'@*/*':
|
|
|
|
# scoped packages
|
|
|
|
access: $all
|
|
|
|
publish: $authenticated
|
|
|
|
proxy: npmjs
|
2014-01-13 19:56:36 +01:00
|
|
|
# uncomment this for packages with "local-" prefix to be available
|
2013-09-24 06:36:43 +02:00
|
|
|
# for admin only, it's a recommended way of handling private packages
|
|
|
|
#'local-*':
|
2015-04-08 22:54:59 +02:00
|
|
|
# access: admin
|
|
|
|
# publish: admin
|
2014-01-13 19:56:36 +01:00
|
|
|
# # you can override storage directory for a group of packages this way:
|
|
|
|
# storage: 'local_storage'
|
2013-09-24 06:36:43 +02:00
|
|
|
|
2016-09-26 13:48:36 +02:00
|
|
|
'**':
|
2014-09-02 02:27:04 +02:00
|
|
|
# allow all users to read packages (including non-authenticated users)
|
|
|
|
#
|
|
|
|
# you can specify usernames/groupnames (depending on your auth plugin)
|
2014-09-14 17:49:15 +02:00
|
|
|
# and three keywords: "$all", "$anonymous", "$authenticated"
|
2015-04-08 22:54:59 +02:00
|
|
|
access: $all
|
2013-06-13 16:21:14 +02:00
|
|
|
|
2013-09-24 06:27:47 +02:00
|
|
|
# allow 'admin' to publish packages
|
2017-08-02 20:46:06 +02:00
|
|
|
publish: $authenticated
|
2013-09-24 06:27:47 +02:00
|
|
|
|
|
|
|
# if package is not available locally, proxy requests to 'npmjs' registry
|
2013-12-29 01:54:46 +01:00
|
|
|
proxy: npmjs
|
2013-09-24 06:36:43 +02:00
|
|
|
|
|
|
|
#####################################################################
|
|
|
|
# Advanced settings
|
|
|
|
#####################################################################
|
|
|
|
|
2017-06-19 20:45:09 +02:00
|
|
|
## Special packages publish configurations
|
|
|
|
#publish:
|
|
|
|
## This will allow the publisher to publish packages even if any uplink is down.
|
|
|
|
# allow_offline: true
|
|
|
|
|
2013-09-24 06:36:43 +02:00
|
|
|
# if you use nginx with custom path, use this to override links
|
2016-08-20 18:46:54 +02:00
|
|
|
#url_prefix: https://dev.company.local/verdaccio/
|
2013-09-24 06:36:43 +02:00
|
|
|
|
2015-03-28 15:38:39 +01:00
|
|
|
# You can specify listen address (or simply a port).
|
2016-08-20 18:46:54 +02:00
|
|
|
# If you add multiple values, verdaccio will listen on all of them.
|
2015-03-28 15:38:39 +01:00
|
|
|
#
|
|
|
|
# Examples:
|
|
|
|
#
|
|
|
|
#listen:
|
|
|
|
# - localhost:4873 # default value
|
|
|
|
# - http://localhost:4873 # same thing
|
|
|
|
# - 0.0.0.0:4873 # listen on all addresses (INADDR_ANY)
|
|
|
|
# - https://example.org:4873 # if you want to use https
|
|
|
|
# - [::1]:4873 # ipv6
|
2016-08-20 18:46:54 +02:00
|
|
|
# - unix:/tmp/verdaccio.sock # unix socket
|
2015-03-28 15:38:39 +01:00
|
|
|
|
|
|
|
# Configure HTTPS, it is required if you use "https" protocol above.
|
|
|
|
#https:
|
|
|
|
# key: path/to/server.key
|
|
|
|
# cert: path/to/server.crt
|
2017-05-13 11:23:05 +02:00
|
|
|
# ca: path/to/server.pem
|
2013-09-24 06:40:46 +02:00
|
|
|
|
2013-10-11 07:32:59 +02:00
|
|
|
# type: file | stdout | stderr
|
|
|
|
# level: trace | debug | info | http (default) | warn | error | fatal
|
|
|
|
#
|
|
|
|
# parameters for file: name is filename
|
2016-08-20 18:46:54 +02:00
|
|
|
# {type: 'file', path: 'verdaccio.log', level: 'debug'},
|
2013-10-11 07:32:59 +02:00
|
|
|
#
|
2016-10-06 09:35:10 +02:00
|
|
|
# parameters for stdout and stderr: format: json | pretty | pretty-timestamped
|
2013-10-11 07:32:59 +02:00
|
|
|
# {type: 'stdout', format: 'pretty', level: 'debug'},
|
2013-10-12 16:37:47 +02:00
|
|
|
logs:
|
2013-10-11 07:32:59 +02:00
|
|
|
- {type: stdout, format: pretty, level: http}
|
2016-08-20 18:46:54 +02:00
|
|
|
#- {type: file, path: verdaccio.log, level: info}
|
2013-11-24 18:07:54 +01:00
|
|
|
|
|
|
|
# you can specify proxy used with all requests in wget-like manner here
|
|
|
|
# (or set up ENV variables with the same name)
|
|
|
|
#http_proxy: http://something.local/
|
|
|
|
#https_proxy: https://something.local/
|
|
|
|
#no_proxy: localhost,127.0.0.1
|
|
|
|
|
2014-01-18 20:04:12 +01:00
|
|
|
# maximum size of uploaded json document
|
|
|
|
# increase it if you have "request entity too large" errors
|
|
|
|
#max_body_size: 1mb
|
2016-05-20 15:48:29 +02:00
|
|
|
|
|
|
|
# Notify Settings
|
|
|
|
# Notify was built primarily to use with Slack's Incoming
|
|
|
|
# webhooks, but will also deliver a simple payload to
|
|
|
|
# any endpoint. Currently only active for publish / create
|
|
|
|
# commands.
|
|
|
|
notify:
|
|
|
|
# Choose a method. Technically this will accept any HTTP
|
|
|
|
# request method, but probably stick to GET or POST
|
|
|
|
method: POST
|
2017-01-10 09:30:56 +01:00
|
|
|
# Only run this notification if the package name matches the regular
|
|
|
|
# expression
|
|
|
|
packagePattern: ^example-package$
|
|
|
|
# Any flags to be used with the regular expression
|
|
|
|
packagePatternFlags: i
|
2016-05-20 15:48:29 +02:00
|
|
|
# If this endpoint requires specific headers, set them here
|
|
|
|
# as an array of key: value objects.
|
|
|
|
headers: [{'Content-type': 'application/x-www-form-urlencoded'}]
|
|
|
|
# set the URL endpoint for this call
|
|
|
|
endpoint: https://hooks.slack.com/...
|
|
|
|
# Finally, the content you will be sending in the body.
|
|
|
|
# This data will first be run through Handlebars to parse
|
|
|
|
# any Handlebar expressions. All data housed in the metadata object
|
|
|
|
# is available for use within the expressions.
|
|
|
|
content: ' {{ handlebar-expression }}'
|
|
|
|
# For Slack, follow the following format:
|
|
|
|
# content: '{ "text": "Package *{{ name }}* published to version *{{ dist-tags.latest }}*", "username": "Verdaccio", "icon_emoji": ":package:" }'
|
2017-01-10 09:30:56 +01:00
|
|
|
|
|
|
|
# Multiple notification endpoints can be created by specifying a collection
|
2017-08-02 20:46:06 +02:00
|
|
|
'example-package-1':
|
2017-01-10 09:30:56 +01:00
|
|
|
method: POST
|
|
|
|
# Only run this notification if the package name matches the regular
|
|
|
|
# expression
|
|
|
|
packagePattern: ^example-package-regex$
|
|
|
|
# Any flags to be used with the regular expression
|
2017-07-02 00:07:42 +02:00
|
|
|
# since verdaccio 2.2.2 this property has been disabled read #108
|
|
|
|
# it will be re-enabled after 2.5.0
|
|
|
|
# packagePatternFlags: i
|
2017-01-10 09:30:56 +01:00
|
|
|
# If this endpoint requires specific headers, set them here
|
|
|
|
# as an array of key: value objects.
|
2017-07-02 00:07:42 +02:00
|
|
|
# headers supports as well a literal object
|
|
|
|
headers: {'Content-type': 'application/x-www-form-urlencoded'}
|
2017-01-10 09:30:56 +01:00
|
|
|
# set the URL endpoint for this call
|
|
|
|
endpoint: https://hooks.slack.com/...
|
|
|
|
# Finally, the content you will be sending in the body.
|
|
|
|
# This data will first be run through Handlebars to parse
|
|
|
|
# any Handlebar expressions. All data housed in the metadata object
|
|
|
|
# is available for use within the expressions.
|
|
|
|
content: ' {{ handlebar-expression }}'
|
|
|
|
# For Slack, follow the following format:
|
|
|
|
# content: '{ "text": "Package *{{ name }}* published to version *{{ dist-tags.latest }}*", "username": "Verdaccio", "icon_emoji": ":package:" }'
|
2017-10-24 16:02:08 +02:00
|
|
|
|
|
|
|
# Configure plugins that can register custom middlewares
|
|
|
|
#middlewares:
|
|
|
|
# plugin-name:
|
|
|
|
# setting: true
|