Téigh ar aghaidh chuig an bpríomhábhar
Leagan: Ar aghaidh

Comhad Cumraíochta

Is é an comhad seo bunchloch Verdaccio áit ar féidir leat an t-iompar réamhshocraithe a mhodhnú, forlíontáin a chumasú agus gnéithe a shíneadh.

Cruthaítear comhad cumraíochta réamhshocraithe config.yaml an chéad uair a ritheann tú verdaccio.

Cumraíocht Réamhshocraithe

Tá tacaíocht ag an gcumraíocht réamhshocraithe do phacáistí scóipeáilte agus ligeann sé d'aon úsáideoir rochtain a dhéanamh ar gach pacáiste, ach ní féidir ach le húsáideoirí fíordheimhnithe foilsiú.

storage: ./storage
auth:
htpasswd:
file: ./htpasswd
uplinks:
npmjs:
url: https://registry.npmjs.org/
packages:
'@*/*':
access: $all
publish: $authenticated
proxy: npmjs
'**':
proxy: npmjs
log: { type: stdout, format: pretty, level: http }

Ailt

Míníonn na hailt seo a leanas cad a chiallaíonn gach maoin agus na roghanna éagsúla atá acu.

Stóráil

An bhfuil suíomh na stórála réamhshocraithe. Tá Verdaccio bunaithe de réir réamhshocraithe ar chóras comhad áitiúil.

storage: ./storage

Eisithe ag v5.6.0: D'fhéadfaí an athróg timpeallachta VERDACCIO_STORAGE_PATH a úsáid chun suíomh na stórála a ionadú (don stóras réamhshocraithe amháin, ní bhaineann sí le forlíontáin mura gcuirtear i bhfeidhm go neamhspleách í).

An bunachar sonraí .verdaccio-db

Úsáidtear an bunachar sonraí bídeach chun pacáistí príobháideacha arna bhfoilsiú ag an úsáideoir a stóráil. Tá an bunachar sonraí bunaithe ar chomhad JSON ina bhfuil liosta na bpacáistí príobháideacha a foilsíodh agus an comhartha rúnda a úsáideadh don síniú chomhartha. Cruthaítear é go huathoibríoch nuair a thosaíonn an t-iarratas den chéad uair.

Tá suíomh an bhunachair shonraí bunaithe ar shuíomh an fhillteáin config.yaml, mar shampla:

Má tá an config.yaml lonnaithe i /some_local_path/config.yaml, cruthófar an bunachar sonraí i /some_local_path/storage/.verdaccio-db.

Níl bunachar sonraí comhad .verdaccio-db ar fáil ach amháin mura n-úsáideann an t-úsáideoir stóras saincheaptha, de réir réamhshocraithe úsáideann verdaccio bunachar sonraí beag bídeach chun pacáistí príobháideacha a stóráil sa stóráil< Sainmhínítear an t-airí sa chomhad config.yaml. Seans go n-athróidh an suíomh bunaithe ar do chóras oibriúcháin. Léigh an rannán CLI le haghaidh tuilleadh sonraí faoi shuíomh na gcomhad.

Tá struchtúr an bhunachair sonraí bunaithe i gcomhad JSON, mar shampla:

{
"list": ["package1", "@scope/pkg2"],
"secret": "secret_token_32_characters_long"
}
  • list: Is eagar é seo le liosta na bpacáistí príobháideacha a foilsíodh, meastar go bhfuil aon mhír ar an liosta seo foilsithe ag an úsáideoir.
  • secret: Úsáidtear an réimse rúnda le haghaidh síniú agus fíorú an chomhartha, le haghaidh JWT nó síniú oidhreachta.

Breiseáin

An bhfuil suíomh an eolaire breiseán. Úsáideach le haghaidh imscaradh bunaithe ar Docker/Kubernetes.

plugins: ./plugins

Fíordheimhniú

Déantar an socrú fíordheimhnithe anseo. Tá an t-údar réamhshocraithe bunaithe ar htpasswd agus tá sé ionsuite. Is féidir leat an iompar seo a mhodhnú trí breiseáin. Le haghaidh tuilleadh eolais faoin alt seo léigh an leathanach an údair.

auth:
htpasswd:
file: ./htpasswd
max_users: 1000

Síniú comhartha

Tá an síniú réamhshocraithe bunaithe ar an Ardchaighdeán Criptithe (AES) leis an algartam aes-256-ctr, ar a dtugtar legacy. Tá sé tábhachtach a thabhairt faoi deara nach bhfuil comharthaí oidhreachta deartha le dul in éag. Má tá feidhmiúlacht éaga ag teastáil, moltar JSON Web Tokens (JWT) a úsáid ina ionad sin.

Slándáil

Ceadaíonn an bloc slándála síniú an chomhartha a shaincheapadh le dhá rogha. Tá an chumraíocht roinnte ina dhá chuid, api agus gréasáin. Agus JWT á úsáid ar api, ní mór é a shainiú; seachas sin, bainfear úsáid as an síniú oidhreachta (aes-256-ctr).

Conas a ghintear an comhartha?

Teastaíonn comhartha rúnda ón síniú comhartha a ghineann an breiseán saincheaptha a chruthaíonn an bunachar sonraí .verdaccio-db nó i gcás go n-úsáidtear stóras saincheaptha, Faightear an comhartha rúnda ó chur i bhfeidhm an bhreiseáin féin. Ar aon nós teastaíonn an comhartha rúnda chun an feidhmchlár a thosú.

Síniú Chomhartha Legacy

Úsáidtear an t-airí legacy chun síniú an chomhartha oidhreachta a chumasú. By default is enabled. Ní bhaineann an ghné oidhreachta ach leis an API, úsáideann an Chomhéadain Gréasáin JWT de réir réamhshocraithe.

security:
api:
legacy: true # by default is true even if this section is not defined

Síniú chomhartha JWT

Chun síniú nua JWT (JSON Web Tokens) a chumasú, ní mór an bloc jwt a chur leis an rannán api; jwt is utilized by default in web.

Trí úsáid a bhaint as síniú JWT is féidir an síniú agus an comhartha fíorú a shaincheapadh le d'airíonna féin.

security:
api:
jwt:
sign:
expiresIn: 29d
verify:
someProp: [value]
web:
sign:
expiresIn: 1h # 1 hour by default
verify:
someProp: [value]

Freastalaí

Sraith airíonna chun iompar an fheidhmchláir fhreastalaí a mhodhnú, go sonrach an API (Express.js).

Is féidir leat an freastalaí HTTP/1.1 a shonrú coinnigh an teorainn ama beo i soicindí le haghaidh naisc isteach. Fágann luach 0 go n-iompraíonn an freastalaí http ar an mbealach céanna le leaganacha Node.js roimh 8.0.0, nach raibh teorainn ama coimeádta beo ann. OIBREACHA: Trí chumraíocht tugtha is féidir leat réiteach a fháil tar éis na heisiúna https://github.com/verdaccio/verdaccio/issues/301. Socraigh go 0 i gcás nach leor 60.

server:
keepAliveTimeout: 60

Chomhéadain Gréasáin

Ligeann an mhaoin seo duit cuma agus mothú an Chomhéadain Gréasáin a mhodhnú. Le haghaidh tuilleadh eolais faoin rannán seo léigh an leathanach Chomhéadain Ghréasáin.

web:
enable: true
title: Verdaccio
logo: logo.png
scope:

Cuireann Uplinks leis an gcumas pacáistí a fháil ó chianchláir nuair nach mbíonn na pacáistí sin ar fáil go háitiúil. Le tuilleadh eolais a fháil faoin alt seo léigh an leathanach na nascanna suas.

uplinks:
npmjs:
url: https://registry.npmjs.org/

Pacáistí

Ligeann an chuid seo duit conas a dhéantar rochtain ar phacáistí a rialú. Le haghaidh tuilleadh eolais faoin rannán seo léigh an leathanach pacáistí.

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

Ardsocruithe

Foilsigh as Líne

By default Verdaccio does not allow you to publish packages when the client is offline. Is féidir é seo a shárú tríd an luach seo a shocrú go fíor.

publish:
allow_offline: false
Ós rud é: verdaccio@2.3.6 dlite #223

Checking Package Ownership

De réir réamhshocraithe, sainmhíníonn rochtain ar phacáistí cé acu a bhfuil cead acu pacáistí a fhoilsiú agus a dhífhoilsiú. Trí check_owners a shocrú go fíor, níl cead ach ag úinéirí pacáiste athruithe a dhéanamh ar phacáiste. Is é an chéad úinéir pacáiste an t-úsáideoir a d'fhoilsigh an chéad leagan. Is féidir úinéirí eile a chur leis nó a bhaint trí úsáid a bhaint as úinéir npm. Is féidir leat liosta na n-úinéirí reatha a fháil trí úsáid a bhaint as liosta úinéirí npm nó trí léiriú an phacáiste a sheiceáil faoi cothabháil.

publish:
check_owners: false

Keep Readmes

By default, Verdaccio stores only the readme markdown of the latest version for each package. Setting keep_readmes to 'tagged' keeps the readmes of versions with dist-tags (for example, latest, next, and major branches). Using the 'all' setting will retain the complete history of readme versions. Note that 'all' can significantly increase the required storage space for packages published to Verdaccio!

publish:
keep_readmes: 'tagged'

Réimír URL

Tá an réimír ceaptha le húsáid nuair a ritheann an freastalaí taobh thiar den seachfhreastalaí agus ní oibreoidh sé i gceart má úsáidtear é gan seachfhreastalaí droim ar ais, seiceáil an leathanach socrú seachfhreastalaí droim ar ais le haghaidh tuilleadh sonraí.

Tógann an loighic inmheánach an url poiblí i gceart, bailíochtaíonn sí an ceanntásc óstach agus an drochmhúnlú url_prefix.

m.sh.: url_prefix: /verdaccio, url_prefix: verdaccio/, url_prefix: verdaccio bheadh ​​/verdaccio/

url_prefix: /verdaccio/

Tá an VERDACCIO_PUBLIC_URL nua ceaptha le húsáid taobh thiar de sheachvótálaithe, úsáidfear an athróg seo le haghaidh:

  • Úsáidtear é mar bhunchonair chun freastal ar acmhainní UI mar (js, favicon, srl)
  • Úsáidte ar bhunchosán meiteashonraí dist
  • Déanann sé neamhaird de cheanntásca óstach agus X-Forwarded-Proto
  • Má shainmhínítear url_prefix chuirfí leis an athróg env é.
VERDACCIO_PUBLIC_URL='https://somedomain.org';
url_prefix: '/my_prefix'

// url -> https://somedomain.org/my_prefix/

VERDACCIO_PUBLIC_URL='https://somedomain.org';
url_prefix: '/'

// url -> https://somedomain.org/

VERDACCIO_PUBLIC_URL='https://somedomain.org/first_prefix';
url_prefix: '/second_prefix'

// url -> https://somedomain.org/second_prefix/'

Gníomhaire Úsáideora

Ó: verdaccio@5.4.0

Tá an gníomhaire úsáideora díchumasaithe de réir réamhshocraithe, mar mhalairt air sin tá an cliant gníomhaire úsáideora (bainisteoir pacáiste, brabhsálaí, srl ...) á sheachbhóthar chuig an gcianrialtán. Úsáid luachanna Boole chun an t-iompar roimhe seo a chumasú.

user_agent: true
user_agent: false
user_agent: 'custom user agent'

Teorainn Ráta Úsáideora

Ós rud é: verdaccio@5.4.0

Cuir teorainn ráta réamhshocraithe le críochphointí úsáideora, npm token, npm profile, npm login/aduser agus logáil isteach ar an suíomh Gréasáin chuig 100 iarratas piaraí 15 nóim, inoiriúnaithe via:

userRateLimit:
windowMs: 50000
max: 1000

Is féidir cumraíocht bhreise (gné-bhratacha amháin) a úsáid freisin trí na doiceanna meánearraí.

Uasmhéid Coirp

De réir réamhshocraithe is é 10mb an uasmhéid coirp do dhoiciméad JSON, má tharlaíonn earráidí a luann "aonán iarratais rómhór" is féidir leat an luach seo a mhéadú.

max_body_size: 10mb

Éist Port

Ritheann verdaccio ar an bport 4873 de réir réamhshocraithe. Is féidir an port a athrú trí CLI nó sa chomhad cumraíochta. Tá na roghanna seo a leanas bailí:

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
# - unix:/tmp/verdaccio.sock # unix socket

HTTPS

Chun https a chumasú in verdaccio is leor an bhratach éist a shocrú leis an bprótacal https://. Le haghaidh tuilleadh eolais faoin alt seo léigh an leathanach SSL.

https:
key: ./path/verdaccio-key.pem
cert: ./path/verdaccio-cert.pem
ca: ./path/verdaccio-csr.pem

Proxy

Proxies are special-purpose HTTP servers designed to transfer data from remote servers to local clients. You can define a HTTP or HTTPS proxy in the main configuration or separately for each uplink. The definition for uplinks have higher priority. The proxy protocol (http or https) has to match the protocol of the registry or uplink URLs.

http_proxy and https_proxy

Má tá seachfhreastalaí agat i do líonra, is féidir leat ceanntásc X-Forwarded-For a shocrú ag baint úsáide as na hairíonna seo a leanas:

http_proxy: http://something.local/
https_proxy: https://something.local/

no_proxy

Ba cheart go mbeadh liosta camóg-scartha de shíntí fearainn san athróg seo nár cheart an seachfhreastalaí a úsáid dóibh.

no_proxy: localhost,127.0.0.1

Fógraí

Tá sé éasca go leor fógraí chuig uirlisí tríú páirtí a chumasú trí ghreamáin gréasáin. Le haghaidh tuilleadh eolais faoin rannán seo léigh an leathanach fógraí.

notify:
method: POST
headers: [{ 'Content-Type': 'application/json' }]
endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken
content: '{"color":"green","message":"New package published: * {{ name }}*","notify":true,"message_format":"text"}'

For more detailed configuration settings, please check the source code.

Logálaí

Tacaítear le dhá chineál logálaí, ní fhéadfaidh tú ach ceann amháin acu a roghnú:

aschur consól (an réamhshocrú)

log: { type: stdout, format: pretty, level: http }

file output

log: { type: file, path: verdaccio.log, level: info }

Chun eolas iomlán a fháil - féach anseo: Gnéithe/logálaí

Iniúchadh

Ó: verdaccio@3.0.0

Is ordú nua é npm audit a scaoileadh le npm 6.x. Áirítear Verdaccio breiseán meánearraí ionsuite chun an t-ordú seo a láimhseáil.

Má tá suiteáil nua agat tagann sé de réir réamhshocraithe, nó ní mór duit na frapaí seo a leanas a chur le do chomhad cumraíochta

middlewares:
audit:
enabled: true
# timeout: 10000

Experiments

Áiríonn an scaoileadh seo airí nua darb ainm turgnaimh is féidir a chur sa config.yaml agus atá roghnach go hiomlán.

Ba mhaith linn a bheith in ann rudaí nua a sheoladh gan cur isteach ar thimpeallachtaí táirgthe. Ligeann an bhratach seo dúinn gnéithe nua a chur leis agus aiseolas a fháil ón bpobal a chinneann iad a úsáid.

Seans nach mbeidh na gnéithe faoin mbratach seo seasmhach nó seans go mbainfear iad in eisiúintí amach anseo.

Seo sampla amháin:

experiments:
changePassword: false

Chun an rabhadh turgnaimh sa chonsól a dhíchumasú, ní mór duit trácht a dhéanamh ar an rannán iomlán turgnaimh.

Cumraíocht Tógálaí API

Tar éis leagan v5.23.1 tá an API tógálaí ardchumraíochta nua ar fáil. Is bealach solúbtha é an API chun aschuir chumraíochta ríomhchláir a ghiniúint in JSON nó YAML ag baint úsáide as patrún an tógálaí, mar shampla:

import { ConfigBuilder } from 'verdaccio';

const config = ConfigBuilder.build();
config
.addUplink('upstream', { url: 'https://registry.upstream.local' })
.addUplink('upstream2', { url: 'https://registry.upstream2.local' })
.addPackageAccess('upstream/*', {
access: 'public',
publish: 'foo, bar',
unpublish: 'foo, bar',
proxy: 'some',
})
.addLogger({ level: 'info', type: 'stdout', format: 'json' })
.addStorage('/tmp/verdaccio')
.addSecurity({ api: { legacy: true } });

// generate JSON object as output
config.getConfig();

// generate output as yaml
config.getAsYaml();