#
# This is the default config file. It allows all users to do anything,
# so don't use it on production systems.
#
# Look here for more config file examples:
# https://github.com/verdaccio/verdaccio/tree/master/conf
#

# path to a directory with all packages, used only if `storageType` is `fs`
storage: ./storage

# where to store the packages, in a filesystem (`fs`) or S3 (`s3`)
storageType: fs

# fs|sql
metaStorage: fs

# a secret token that is used as a salt in hashing services, an auth for example
secret: null

auth:
  htpasswd:
    file: ./htpasswd
    # Maximum amount of users allowed to register, defaults to "+inf".
    # You can set this to -1 to disable registration.
    #max_users: 1000

# a list of other known repositories we can talk to
uplinks:
  npmjs:
    url: https://registry.npmjs.org/

packages:
  '@*/*':
    # scoped packages
    access: $all
    publish: $authenticated
    proxy: npmjs

  '**':
    # allow all users (including non-authenticated users) to read and
    # publish all packages
    #
    # you can specify usernames/groupnames (depending on your auth plugin)
    # and three keywords: "$all", "$anonymous", "$authenticated"
    access: $all

    # allow all known users to publish packages
    # (anyone can register by default, remember?)
    publish: $authenticated

    # if package is not available locally, proxy requests to 'npmjs' registry
    proxy: npmjs

# log settings
logs:
  - {type: stdout, format: pretty, level: http}
  #- {type: file, path: verdaccio.log, level: info}

# SQL settings that can be used for meta storage
sql:
  host: localhost
  # SQL dialect for the meta storage, can be one of 'mysql'|'sqlite'|'postgres'|'mssql'
  dialect: sqlite
  # MySQL pool config
  pool:
    max: 5
    min: 0
    idle: 10000

  # SQLite only
  storage: ./storage/database.sqlite
