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:
Uplinks
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
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
agusX-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.0Cuir 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();