1
0
mirror of https://github.com/verdaccio/verdaccio.git synced 2024-12-24 21:15:51 +01:00

chore: New Crowdin translations (#1082)

* New translations docker.md (Italian)
docs(website): new translations

* New translations docker.md (Italian)
docs(website): new translations

* New translations docker.md (Italian)
docs(website): new translations

* New translations iis-server.md (Italian)
docs(website): new translations

* New translations install.md (Italian)
docs(website): new translations

* New translations iis-server.md (Italian)
docs(website): new translations

* New translations docker.md (Italian)
docs(website): new translations

* New translations iis-server.md (Italian)
docs(website): new translations

* New translations web.md (Italian)
docs(website): new translations

* New translations reverse-proxy.md (Italian)
docs(website): new translations

* New translations web.md (Korean)
docs(website): new translations

* New translations web.md (Polish)
docs(website): new translations

* New translations web.md (Vietnamese)
docs(website): new translations

* New translations web.md (Russian)
docs(website): new translations

* New translations web.md (Hindi)
docs(website): new translations

* New translations web.md (Portuguese)
docs(website): new translations

* New translations web.md (Spanish)
docs(website): new translations

* New translations web.md (Arabic)
docs(website): new translations

* New translations web.md (Portuguese, Brazilian)
docs(website): new translations

* New translations web.md (Chinese Simplified)
docs(website): new translations

* New translations web.md (Japanese)
docs(website): new translations

* New translations web.md (French)
docs(website): new translations

* New translations web.md (German)
docs(website): new translations

* New translations plugins.md (Italian)
docs(website): new translations

* New translations plugins.md (Korean)
docs(website): new translations

* New translations plugins.md (Polish)
docs(website): new translations

* New translations plugins.md (Vietnamese)
docs(website): new translations

* New translations plugins.md (Hindi)
docs(website): new translations

* New translations plugins.md (Portuguese)
docs(website): new translations

* New translations plugins.md (Russian)
docs(website): new translations

* New translations plugins.md (Spanish)
docs(website): new translations

* New translations plugins.md (Arabic)
docs(website): new translations

* New translations plugins.md (Chinese Simplified)
docs(website): new translations

* New translations plugins.md (Portuguese, Brazilian)
docs(website): new translations

* New translations plugins.md (Japanese)
docs(website): new translations

* New translations plugins.md (French)
docs(website): new translations

* New translations plugins.md (German)
docs(website): new translations

* New translations ansible.md (French)
docs(website): new translations

* New translations ansible.md (French)
docs(website): new translations

* New translations auth.md (French)
docs(website): new translations

* New translations auth.md (French)
docs(website): new translations

* New translations auth.md (French)
docs(website): new translations

* New translations auth.md (French)
docs(website): new translations

* New translations cli.md (French)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations auth.md (French)
docs(website): new translations

* New translations build.md (French)
docs(website): new translations

* New translations build.md (French)
docs(website): new translations

* New translations cli.md (French)
docs(website): new translations

* New translations cli.md (French)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations contributing.md (French)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations auth.md (French)
docs(website): new translations

* New translations auth.md (French)
docs(website): new translations

* New translations en.json (Arabic)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations en.json (Arabic)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations contributing.md (French)
docs(website): new translations

* New translations en.json (Arabic)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations en.json (Arabic)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations en.json (Arabic)
docs(website): new translations

* New translations build.md (French)
docs(website): new translations

* New translations cli.md (French)
docs(website): new translations

* New translations auth.md (French)
docs(website): new translations

* New translations auth.md (French)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations en.json (Arabic)
docs(website): new translations

* New translations en.json (Arabic)
docs(website): new translations

* New translations auth.md (French)
docs(website): new translations

* New translations cli.md (French)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations contributing.md (French)
docs(website): new translations

* New translations contributing.md (French)
docs(website): new translations

* New translations dev-plugins.md (French)
docs(website): new translations

* New translations auth.md (French)
docs(website): new translations

* New translations cli.md (French)
docs(website): new translations

* New translations contributing.md (French)
docs(website): new translations

* New translations contributing.md (French)
docs(website): new translations

* New translations contributing.md (French)
docs(website): new translations

* New translations plugins.md (Italian)
docs(website): new translations

* New translations plugins.md (Korean)
docs(website): new translations

* New translations plugins.md (Polish)
docs(website): new translations

* New translations plugins.md (Vietnamese)
docs(website): new translations

* New translations plugins.md (Hindi)
docs(website): new translations

* New translations plugins.md (Portuguese)
docs(website): new translations

* New translations plugins.md (Russian)
docs(website): new translations

* New translations plugins.md (Spanish)
docs(website): new translations

* New translations plugins.md (Arabic)
docs(website): new translations

* New translations plugins.md (Chinese Simplified)
docs(website): new translations

* New translations plugins.md (Portuguese, Brazilian)
docs(website): new translations

* New translations plugins.md (Japanese)
docs(website): new translations

* New translations plugins.md (French)
docs(website): new translations

* New translations build.md (French)
docs(website): new translations

* New translations plugins.md (German)
docs(website): new translations

* New translations contributing.md (French)
docs(website): new translations

* New translations contributing.md (French)
docs(website): new translations

* New translations contributing.md (French)
docs(website): new translations

* New translations dev-plugins.md (French)
docs(website): new translations

* New translations dev-plugins.md (French)
docs(website): new translations

* New translations dev-plugins.md (French)
docs(website): new translations

* New translations dev-plugins.md (French)
docs(website): new translations

* New translations ansible.md (Serbian (Cyrillic))
docs(website): new translations

* New translations repositories.md (Serbian (Latin))
docs(website): new translations

* New translations cli.md (Serbian (Latin))
docs(website): new translations

* New translations config.md (Serbian (Latin))
docs(website): new translations

* New translations contributing.md (Serbian (Latin))
docs(website): new translations

* New translations dev-plugins.md (Serbian (Latin))
docs(website): new translations

* New translations docker.md (Serbian (Latin))
docs(website): new translations

* New translations iis-server.md (Serbian (Latin))
docs(website): new translations

* New translations install.md (Serbian (Latin))
docs(website): new translations

* New translations kubernetes.md (Serbian (Latin))
docs(website): new translations

* New translations logger.md (Serbian (Latin))
docs(website): new translations

* New translations notifications.md (Serbian (Latin))
docs(website): new translations

* New translations packages.md (Serbian (Latin))
docs(website): new translations

* New translations plugins.md (Serbian (Latin))
docs(website): new translations

* New translations protect-your-dependencies.md (Serbian (Latin))
docs(website): new translations

* New translations reverse-proxy.md (Serbian (Latin))
docs(website): new translations

* New translations auth.md (Serbian (Latin))
docs(website): new translations

* New translations server.md (Serbian (Latin))
docs(website): new translations

* New translations ssl.md (Serbian (Latin))
docs(website): new translations

* New translations test.md (Serbian (Latin))
docs(website): new translations

* New translations uplinks.md (Serbian (Latin))
docs(website): new translations

* New translations use-cases.md (Serbian (Latin))
docs(website): new translations

* New translations web.md (Serbian (Latin))
docs(website): new translations

* New translations windows.md (Serbian (Latin))
docs(website): new translations

* New translations node-api.md (Serbian (Latin))
docs(website): new translations

* New translations what-is-verdaccio.md (Serbian (Latin))
docs(website): new translations

* New translations ci.md (Serbian (Latin))
docs(website): new translations

* New translations puppet.md (Serbian (Latin))
docs(website): new translations

* New translations chef.md (Serbian (Latin))
docs(website): new translations

* New translations logo.md (Serbian (Latin))
docs(website): new translations

* New translations build.md (Serbian (Latin))
docs(website): new translations

* New translations ansible.md (Serbian (Latin))
docs(website): new translations

* New translations auth.md (Serbian (Cyrillic))
docs(website): new translations

* New translations protect-your-dependencies.md (Serbian (Cyrillic))
docs(website): new translations

* New translations build.md (Serbian (Cyrillic))
docs(website): new translations

* New translations cli.md (Serbian (Cyrillic))
docs(website): new translations

* New translations config.md (Serbian (Cyrillic))
docs(website): new translations

* New translations contributing.md (Serbian (Cyrillic))
docs(website): new translations

* New translations dev-plugins.md (Serbian (Cyrillic))
docs(website): new translations

* New translations docker.md (Serbian (Cyrillic))
docs(website): new translations

* New translations iis-server.md (Serbian (Cyrillic))
docs(website): new translations

* New translations install.md (Serbian (Cyrillic))
docs(website): new translations

* New translations kubernetes.md (Serbian (Cyrillic))
docs(website): new translations

* New translations logger.md (Serbian (Cyrillic))
docs(website): new translations

* New translations notifications.md (Serbian (Cyrillic))
docs(website): new translations

* New translations packages.md (Serbian (Cyrillic))
docs(website): new translations

* New translations plugins.md (Serbian (Cyrillic))
docs(website): new translations

* New translations repositories.md (Serbian (Cyrillic))
docs(website): new translations

* New translations en.json (Serbian (Cyrillic))
docs(website): new translations

* New translations reverse-proxy.md (Serbian (Cyrillic))
docs(website): new translations

* New translations server.md (Serbian (Cyrillic))
docs(website): new translations

* New translations ssl.md (Serbian (Cyrillic))
docs(website): new translations

* New translations test.md (Serbian (Cyrillic))
docs(website): new translations

* New translations uplinks.md (Serbian (Cyrillic))
docs(website): new translations

* New translations use-cases.md (Serbian (Cyrillic))
docs(website): new translations

* New translations web.md (Serbian (Cyrillic))
docs(website): new translations

* New translations windows.md (Serbian (Cyrillic))
docs(website): new translations

* New translations node-api.md (Serbian (Cyrillic))
docs(website): new translations

* New translations what-is-verdaccio.md (Serbian (Cyrillic))
docs(website): new translations

* New translations ci.md (Serbian (Cyrillic))
docs(website): new translations

* New translations puppet.md (Serbian (Cyrillic))
docs(website): new translations

* New translations chef.md (Serbian (Cyrillic))
docs(website): new translations

* New translations logo.md (Serbian (Cyrillic))
docs(website): new translations

* New translations en.json (Serbian (Latin))
docs(website): new translations

* New translations dev-plugins.md (French)
docs(website): new translations

* New translations dev-plugins.md (French)
docs(website): new translations

* New translations dev-plugins.md (French)
docs(website): new translations

* New translations docker.md (French)
docs(website): new translations

* New translations docker.md (French)
docs(website): new translations

* New translations docker.md (French)
docs(website): new translations

* New translations iis-server.md (French)
docs(website): new translations

* New translations iis-server.md (French)
docs(website): new translations

* New translations iis-server.md (French)
docs(website): new translations

* New translations iis-server.md (French)
docs(website): new translations

* New translations iis-server.md (French)
docs(website): new translations

* New translations iis-server.md (French)
docs(website): new translations

* New translations install.md (French)
docs(website): new translations

* New translations install.md (French)
docs(website): new translations

* New translations kubernetes.md (French)
docs(website): new translations

* New translations logger.md (French)
docs(website): new translations

* New translations logger.md (French)
docs(website): new translations

* New translations logger.md (French)
docs(website): new translations

* New translations logger.md (French)
docs(website): new translations

* New translations notifications.md (French)
docs(website): new translations

* New translations docker.md (French)
docs(website): new translations

* New translations docker.md (French)
docs(website): new translations

* New translations docker.md (French)
docs(website): new translations

* New translations docker.md (French)
docs(website): new translations

* New translations docker.md (French)
docs(website): new translations

* New translations docker.md (French)
docs(website): new translations

* New translations notifications.md (French)
docs(website): new translations

* New translations notifications.md (French)
docs(website): new translations

* New translations notifications.md (French)
docs(website): new translations

* New translations packages.md (French)
docs(website): new translations

* New translations packages.md (French)
docs(website): new translations

* New translations packages.md (French)
docs(website): new translations

* New translations plugins.md (French)
docs(website): new translations

* New translations ansible.md (Serbian (Latin))
docs(website): new translations

* New translations ansible.md (Serbian (Latin))
docs(website): new translations

* New translations auth.md (Serbian (Latin))
docs(website): new translations

* New translations auth.md (Serbian (Latin))
docs(website): new translations

* New translations auth.md (Serbian (Latin))
docs(website): new translations

* New translations build.md (Serbian (Latin))
docs(website): new translations

* New translations chef.md (Serbian (Latin))
docs(website): new translations

* New translations cli.md (Serbian (Latin))
docs(website): new translations

* New translations ci.md (Serbian (Latin))
docs(website): new translations

* New translations cli.md (Serbian (Latin))
docs(website): new translations

* New translations uplinks.md (Serbian (Latin))
docs(website): new translations

* New translations uplinks.md (Serbian (Latin))
docs(website): new translations

* New translations uplinks.md (Serbian (Latin))
docs(website): new translations

* New translations uplinks.md (Serbian (Latin))
docs(website): new translations

* New translations packages.md (Korean)
docs(website): new translations

* New translations packages.md (Portuguese)
docs(website): new translations

* New translations packages.md (Vietnamese)
docs(website): new translations

* New translations packages.md (Italian)
docs(website): new translations

* New translations packages.md (Russian)
docs(website): new translations

* New translations packages.md (Serbian (Cyrillic))
docs(website): new translations

* New translations packages.md (Serbian (Latin))
docs(website): new translations

* New translations packages.md (Hindi)
docs(website): new translations

* New translations packages.md (French)
docs(website): new translations

* New translations packages.md (Arabic)
docs(website): new translations

* New translations packages.md (Chinese Simplified)
docs(website): new translations

* New translations packages.md (Spanish)
docs(website): new translations

* New translations packages.md (Portuguese, Brazilian)
docs(website): new translations

* New translations packages.md (Polish)
docs(website): new translations

* New translations packages.md (German)
docs(website): new translations

* New translations packages.md (Japanese)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations

* New translations contributing.md (French)
docs(website): new translations

* New translations cli.md (French)
docs(website): new translations

* New translations config.md (French)
docs(website): new translations
This commit is contained in:
VerdaccioBot 2018-10-21 17:56:24 +02:00 committed by Juan Picado @jotadeveloper
parent d7d389c896
commit a606f2f16d
28 changed files with 491 additions and 512 deletions

@ -14,20 +14,20 @@ For more information about permissions visit [the authentification section in th
packages:
# scoped packages
'@scope/*':
access: all
publish: all
access: $all
publish: $all
proxy: server2
'private-*':
access: all
publish: all
access: $all
publish: $all
proxy: uplink1
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
access: all
publish: all
access: $all
publish: $all
proxy: uplink2
```
@ -36,8 +36,8 @@ if none is specified, the default one remains
```yaml
packages:
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
The list of valid groups according the default plugins are
@ -58,8 +58,8 @@ If you want to protect specific set packages under your group, you need to do so
```yaml
packages:
'npmuser-*':
access: npmuser
publish: npmuser
access: npmuser
publish: npmuser
```
Restart `verdaccio` and in your console try to install `npmuser-core`.
@ -89,7 +89,6 @@ Defining multiple access groups is fairly easy, just define them with a white sp
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1
```
#### Blocking access to set of packages
@ -100,8 +99,8 @@ If you want to block the acccess/publish to a specific group of packages. Just d
packages:
'old-*':
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
#### Blocking proxying a set of specific packages
@ -113,18 +112,18 @@ Let's see the following example:
```yaml
packages:
'jquery':
access: $all
publish: $all
access: $all
publish: $all
'my-company-*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'@my-local-scope/*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'**':
access: all
publish: $authenticated
proxy: npmjs
access: $all
publish: $authenticated
proxy: npmjs
```
Let's describe what we want with the above example:

@ -14,20 +14,20 @@ For more information about permissions visit [the authentification section in th
packages:
# scoped packages
'@scope/*':
access: all
publish: all
access: $all
publish: $all
proxy: server2
'private-*':
access: all
publish: all
access: $all
publish: $all
proxy: uplink1
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
access: all
publish: all
access: $all
publish: $all
proxy: uplink2
```
@ -36,8 +36,8 @@ if none is specified, the default one remains
```yaml
packages:
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
The list of valid groups according the default plugins are
@ -58,8 +58,8 @@ If you want to protect specific set packages under your group, you need to do so
```yaml
packages:
'npmuser-*':
access: npmuser
publish: npmuser
access: npmuser
publish: npmuser
```
Restart `verdaccio` and in your console try to install `npmuser-core`.
@ -89,7 +89,6 @@ Defining multiple access groups is fairly easy, just define them with a white sp
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1
```
#### Blocking access to set of packages
@ -100,8 +99,8 @@ If you want to block the acccess/publish to a specific group of packages. Just d
packages:
'old-*':
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
#### Blocking proxying a set of specific packages
@ -113,18 +112,18 @@ Let's see the following example:
```yaml
packages:
'jquery':
access: $all
publish: $all
access: $all
publish: $all
'my-company-*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'@my-local-scope/*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'**':
access: all
publish: $authenticated
proxy: npmjs
access: $all
publish: $authenticated
proxy: npmjs
```
Let's describe what we want with the above example:

@ -14,20 +14,20 @@ Para mas información sobre permisos, visite [la sección de autenticación](aut
packages:
# scoped packages
'@scope/*':
access: all
publish: all
access: $all
publish: $all
proxy: server2
'private-*':
access: all
publish: all
access: $all
publish: $all
proxy: uplink1
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
access: all
publish: all
access: $all
publish: $all
proxy: uplink2
```
@ -36,8 +36,8 @@ si ninguno esta especificado, por defecto uno se define
```yaml
packages:
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
La lista de grupos validos de acuerdo a la extensión por defecto son
@ -58,8 +58,8 @@ Si deseas proteger un grupo de paquetes específicos dentro de tu grupo, debes r
```yaml
packages:
'npmuser-*':
access: npmuser
publish: npmuser
access: npmuser
publish: npmuser
```
Reinicia `verdaccio` en tu terminal trata de instalar `npmuser-core`.
@ -89,7 +89,6 @@ Definir múltiples grupos de acceso es bastante sencillo, simplemente defínalos
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1
```
#### Bloqueando el acceso a paquetes
@ -100,8 +99,8 @@ Si así lo deseas bloquea el acceso/la publicación a un grupo específico de pa
packages:
'old-*':
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
#### Bloqueando proxy a un grupo específico de paquetes
@ -113,18 +112,18 @@ Veamos el siguiente ejemplo:
```yaml
packages:
'jquery':
access: $all
publish: $all
access: $all
publish: $all
'my-company-*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'@my-local-scope/*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'**':
access: all
publish: $authenticated
proxy: npmjs
access: $all
publish: $authenticated
proxy: npmjs
```
Vamos a describir lo que se desea con el ejemplo anterior:

@ -38,7 +38,7 @@ Les sections suivantes expliquent ce que signifie chaque propriété et les diff
C'est le chemin de stockage par défaut. **Verdaccio est basé par défaut sur le fichier système local**.
```yaml
storage: ./storage
stockage: ./stockage
```
### Plugins
@ -60,7 +60,7 @@ auth:
max_users: 1000
```
### Interface Web
### Interface utilisateur Web
Cette propriété vous permet de modifier les fonctionnalités de l'interface utilisateur Web. Pour plus d'informations sur cette section, consultez la [ page de l'interface utilisateur Web ](web.md).
@ -84,7 +84,7 @@ uplinks:
### Paquets
Paquets permet à l'utilisateur de contrôler comment les paquets sont rendus accessibles. Pour plus d'informations sur cette section, consultez la [ page des paquets ](packages.md).
Les Paquets permettent à l'utilisateur de contrôler comment les paquets sont rendus accessibles. Pour plus d'informations sur cette section, consultez la [ page des paquets ](packages.md).
```yaml
packages:
@ -113,7 +113,7 @@ publish:
url_prefix: https://dev.company.local/verdaccio/
```
Since: `verdaccio@2.3.6` due [#197](https://github.com/verdaccio/verdaccio/pull/197)
Depuis: `verdaccio@2.3.6` due [#197](https://github.com/verdaccio/verdaccio/pull/197)
### Taille maximale du corps

@ -63,13 +63,13 @@ Verdaccio vise à être multilingue et, pour atteindre cet objectif, **nous bén
<img src="https://d3n8a8pro7vhmx.cloudfront.net/uridu/pages/144/attachments/original/1485948891/Crowdin.png" width="400px" />
Nous avons mis en place un projet dans lequel vous pouvez choisir la langue que vous préférez. Si vous ne trouvez pas la langue qui vous convient, n'hésitze pas à demander une en [créant un ticket](https://github.com/verdaccio/verdaccio/issues/new).
Nous avons mis en place un projet dans lequel vous pouvez choisir la langue que vous préférez. Si vous ne trouvez pas la langue qui vous convient, n'hésitez pas à demander une en [créant un ticket](https://github.com/verdaccio/verdaccio/issues/new).
[Aller à Crowdin Verdaccio](https://crowdin.com/project/verdaccio)
## Je suis prêt à contribuer
Si vous pensez que *"J'ai déjà vu les [dépôts](repositories.md) et je souhaite commencer tout de suite"*, alors j'ai bien de bonnes nouvelles pour toi, Voici l'étape suivante.
Si vous pensez que *"J'ai déjà vu les [dépôts](repositories.md) et je souhaite commencer tout de suite"*, alors j'ai bien de bonnes nouvelles pour vous, Voici l'étape suivante.
Vous devrez apprendre à créer un projet, [nous avons préparé un guide à cet effet](build.md).

@ -36,27 +36,27 @@ Pour une version spécifique (patch):
docker pull verdaccio/verdaccio:3.0.1
```
For the next major release using the `beta` (master branch) version.
Pour la prochaine version majeure, utilisez la version `beta` (branche principale).
```bash
docker pull verdaccio/verdaccio:beta
```
> If you are interested on a list of tags, [please visit the Docker Hub website](https://hub.docker.com/r/verdaccio/verdaccio/tags/).
> Si vous êtes intéréssés par une liste de tags, [veuillez visiter le site web Docker Hub](https://hub.docker.com/r/verdaccio/verdaccio/tags/).
## Running verdaccio using Docker
## En cours dexécution de Verdaccio à laide de Docker
To run the docker container:
Pour exécuter le conteneur de docker:
```bash
docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio
```
The last argument defines which image to use. The above line will pull the latest prebuilt image from dockerhub, if you haven't done that already.
Le dernier argument définit quelle image est utilisée. La ligne ci-dessus téléchargera à partir du dockerhub la dernière image prédéfinie disponible, si celle-ci n'a pas encore été créée.
If you have [build an image locally](#build-your-own-docker-image) use `verdaccio` as the last argument.
Si vous avez [construit une image localement](#build-your-own-docker-image), utilisez `verdaccio` comme dernier argument.
You can use `-v` to bind mount `conf`, `storage` and `plugins` to the hosts filesystem:
Vous pouvez utiliser `-v` pour monter `conf`, `storage` et `plugins` dans le système de fichiers hôte:
```bash
V_PATH=/path/for/verdaccio; docker run -it --rm --name verdaccio -p 4873:4873 \
@ -66,21 +66,21 @@ V_PATH=/path/for/verdaccio; docker run -it --rm --name verdaccio -p 4873:4873 \
verdaccio/verdaccio
```
> Note: Verdaccio runs as a non-root user (uid=100, gid=101) inside the container, if you use bind mount to override default, you need to make sure the mount directory is assigned to the right user. In above example, you need to run `sudo chown -R 100:101 /opt/verdaccio` otherwise you will get permission errors at runtime. [Use docker volume](https://docs.docker.com/storage/volumes/) is recommended over using bind mount.
> Remarque: Verdaccio s'exécute dans le conteneur en tant qu'utilisateur non root (uid = 100, gid = 101). Si vous utilisez le montage lié pour ignorer les paramètres par défaut, vous devez vous assurer que le dossier de montage est attribué à l'utilisateur correct. Dans l'exemple précédent, vous devez exécuter `sudo chown -R 100: 101 / opt / verdaccio`, sinon vous obtiendrez des erreurs d'autorisation pendant l'exécution. [Utiliser le volume docker](https://docs.docker.com/storage/volumes/) est recommandé, plutôt qu'utiliser le lieu du montage de liaison.
### Plugins
Plugins can be installed in a separate directory and mounted using Docker or Kubernetes, however make sure you build plugins with native dependencies using the same base image as the Verdaccio Dockerfile.
Les plugins peuvent être installés dans un dossier séparé et montés à l'aide de Docker ou de Kubernetes. Cependant, veillez à créer des plugins avec des dépendances natives à l'aide de la même image de base du fichier Docker de Verdaccio.
### Docker and custom port configuration
### Configuration de Docker et du port personnalisé
Any `host:port` configured in `conf/config.yaml` under `listen` is currently ignored when using docker.
Chaque `host: port` configuré dans `conf/config.yaml` sous `listen` est actuellement ignoré lors de l'utilisation de docker.
If you want to reach verdaccio docker instance under different port, lets say `5000` in your `docker run` command replace `-p 4873:4873` with `-p 5000:4873`.
Si vous souhaitez atteindre linstance verdaccio docker depuis un autre port, dites `5000`, dans la commande `docker run`, remplacez `-p 4873: 4873` par `-p 5000: 4873`.
In case you need to specify which port to listen to **in the docker container**, since version 2.?.? you can do so by providing additional arguments to `docker run`: `--env PORT=5000` This changes which port the docker container exposes and the port verdaccio listens to.
Si vous devez spécifier le port sur lequel écouter **dans le conteneur de menu fixe**, à partir de la version 2.?.? ceci est possible en fournissant des arguments supplémentaires à `docker run`: `- env PORT = 5000` Ceci remplace le port offert par le conteneur de menu fixe et le port écouté par verdaccio.
Of course the numbers you give to `-p` paremeter need to match, so assuming you want them to all be the same this is what you could copy, paste and adopt:
Bien sûr, les nombres fournis au paramètre `-p` doivent correspondre, donc si vous les voulez tous identiques, voici ce que vous pouvez copier, coller et adopter:
```bash
PORT=5000; docker run -it --rm --name verdaccio \
@ -88,9 +88,9 @@ PORT=5000; docker run -it --rm --name verdaccio \
verdaccio/verdaccio
```
### Using HTTPS with Docker
### Utiliser HTTPS avec Docker
You can configure the protocol verdaccio is going to listen on, similarly to the port configuration. You have to overwrite the default value("http") of the `PROTOCOL` environment variable to "https", after you specified the certificates in the config.yaml.
Vous pouvez configurer le protocole que verdaccio écoutera, de la même manière que le port. Vous devez remplacer la valeur par défaut ("http") de la variable d'environnement du `PROTOCOL` par "https" après avoir spécifié les certificats dans le fichier config.yaml.
```bash
PROTOCOL=https; docker run -it --rm --name verdaccio \
@ -98,18 +98,18 @@ PROTOCOL=https; docker run -it --rm --name verdaccio \
verdaccio/verdaccio
```
### Using docker-compose
### Utiliser docker-compose
1. Get the latest version of [docker-compose](https://github.com/docker/compose).
2. Build and run the container:
1. Obtenir la dernière version de [docker-composer](https://github.com/docker/compose).
2. Générer et exécuter le conteneur:
```bash
$ docker-compose up --build
```
You can set the port to use (for both container and host) by prefixing the above command with `PORT=5000`.
Vous pouvez définir le port à utiliser (pour le conteneur et pour l'hôte) en préfixant la commande précédente avec le préfixe`PORT = 5000`.
Docker will generate a named volume in which to store persistent application data. You can use `docker inspect` or `docker volume inspect` to reveal the physical location of the volume and edit the configuration, such as:
Docker générera un volume nommé dans lequel les données d'application persistantes seront stockées. Vous pouvez utiliser `docker inspect` ou `docker volume inspect` pour révéler l'emplacement physique du volume et modifier la configuration, comme:
$ docker volume inspect verdaccio_verdaccio
[
@ -124,39 +124,39 @@ Docker will generate a named volume in which to store persistent application dat
## Build your own Docker image
## Créer votre propre image Docker
```bash
docker build -t verdaccio .
```
There is also an npm script for building the docker image, so you can also do:
Il existe également un script npm pour créer une image docker, vous pouvez donc également:
```bash
npm run build:docker
```
Note: The first build takes some minutes to build because it needs to run `npm install`, and it will take that long again whenever you change any file that is not listed in `.dockerignore`.
Remarque: La première génération prend quelques minutes pour être créée car elle doit démarrer `npm install` et peut prendre le même temps chaque fois que vous modifiez un fichier ne figurant pas dans la liste `.dockerignore`.
If you want to use the docker image on a rpi or a compatible device there is also a dockerfile available. To build the docker image for raspberry pi execute:
Si vous souhaitez utiliser l'image du menu fixe sur un périphérique rpi ou un périphérique compatible, un fichier docker est aussi disponible. Pour créer une image docker pour raspberry pi, exécutez:
```bash
npm run build:docker:rpi
npm run build:docker
```
Please note that for any of the above docker commands you need to have docker installed on your machine and the docker executable should be available on your `$PATH`.
Veuillez noter que pour chacune des commandes de menu mentionnées ci-dessus, il est nécessaire dinstaller le docker sur le PC, aussi le docker exécutable doit être disponible sur `$PATH`.
## Docker Examples
## Exemples de docker
There is a separate repository that hosts multiple configurations to compose Docker images with `verdaccio`, for instance, as reverse proxy:
Il existe un dossier distinct qui héberge plusieurs configurations pour composer des images Docker avec `verdaccio`, par exemple, en tant que proxy inverse:
<https://github.com/verdaccio/docker-examples>
## Docker Custom Builds
## Constructions personnalisées de Docker
* [docker-verdaccio-gitlab](https://github.com/snics/docker-verdaccio-gitlab)
* [docker-verdaccio](https://github.com/deployable/docker-verdaccio)
* [docker-verdaccio-s3](https://github.com/asynchrony/docker-verdaccio-s3) Private NPM container that can backup to s3
* [docker-verdaccio-s3](https://github.com/asynchrony/docker-verdaccio-s3) conteneur privé NPM pouvant être sauvegardé en s3
* [docker-verdaccio-ldap](https://github.com/snadn/docker-verdaccio-ldap)
* [verdaccio-ldap](https://github.com/nathantreid/verdaccio-ldap)
* [verdaccio-compose-local-bridge](https://github.com/shingtoli/verdaccio-compose-local-bridge)

@ -4,13 +4,13 @@ title: "Notifications"
---
Notify a été créé principalement pour être utilisé avec les Webhooks entrants de Slack, mais fournira également une charge utile simple à chaque terminal. Pour le moment, il n'est actif que pour la commande `npm publish`.
## Usage
## Utilisation
An example with a **HipChat**, **Stride** and **Google Hangouts Chat** hook:
Un exemple avec **HipChat**, **Stride** et **Google Hangouts Chat**, cliquez sur:
> Verdaccio supports any API, feel free to ad more examples.
> Verdaccio supporte chaque API, n'hésitez pas à ajouter d'autres exemples.
#### Single notification
#### Notification unique
```yaml
notify:
@ -20,7 +20,7 @@ notify:
content: '{"color":"green","message":"New package published: * {{ name }}*","notify":true,"message_format":"text"}'
```
#### Multiple notification
#### Notification multiple
```yaml
notify:
@ -41,11 +41,11 @@ notify:
content: '{"body": {"version": 1,"type": "doc","content": [{"type": "paragraph","content": [{"type": "text","text": "New package published: * {{ name }}* Publisher name: * {{ publisher.name }}"}]}]}}'
```
## Template
## Modèle
We use [Handlebars](https://handlebarsjs.com/) as main template engine.
Nous utilisons [Handlebars](https://handlebarsjs.com/) comme moteur de gabarit principal.
### Format Examples
### Exemples de format
# iterate all versions
{{ name }}{{#each versions}} v{{version}}{{/each}}`"}
@ -54,17 +54,17 @@ We use [Handlebars](https://handlebarsjs.com/) as main template engine.
{{ publisher.name }} has published {{publishedPackage}}"}
### Properties
### Propriétés
List of properties accesible via template
Liste des propriétés accessibles via un modèle
* Metadata
* Publisher (who is publishing)
* Package Published (package@1.0.0)
* Métadonnées
* Éditeur (celui qui publie)
* Package publié (package@1.0.0)
### Metadata
### Métadonnées
Package metadata that the template has access
Package de métadonnées auquel le modèle a accès
{
"_id": "@test/pkg1",
@ -115,11 +115,11 @@ Package metadata that the template has access
}
### Publisher
### Editeur
You can access to the package publisher information in the `content` of a webhook using the `publisher` object.
Vous pouvez accéder aux informations sur les packages de l'éditeur dans le `content` d'un Webhook à l'aide de l'objet `publisher`.
See below the `publisher` object type:
Voir le type d'objet `publisher` ci-dessous:
{
name: string,
@ -128,7 +128,7 @@ See below the `publisher` object type:
}
An example:
Un exemple:
notify:
method: POST
@ -137,22 +137,22 @@ An example:
content: '{"color":"green","message":"New package published: * {{ name }}*. Publisher name: * {{ publisher.name }} *.","notify":true,"message_format":"text"}'
**Note:** it's not possible to get the publisher information if the `package.json` file already has the `publisher` property.
**Remarque:** Il est impossible d'obtenir des informations sur l'éditeur si le fichier `package.json` possède déjà la propriété `éditeur`.
### Package Published
### Package Publié
You can acces to the package is being published with the keyword `{{publishedPackage}}` as follows.
Vous pouvez accéder au package publié avec le mot clé `{{publishedPackage}}` comme suit.
{{ publisher.name }} has published {{publishedPackage}}"}
## Configuration
| Property | Type | Required | Support | Default | Description |
| ------------------- | ------------ | -------- | ------- | ------- | -------------------------------------------------------------------------------------------- |
| method | string | No | all | | HTTP verb |
| packagePattern | string | No | all | | Only run this notification if the package name matches the regular expression |
| packagePatternFlags | string | No | all | | Any flags to be used with the regular expression |
| headers | array/object | Yes | all | | If this endpoint requires specific headers, set them here as an array of key: value objects. |
| endpoint | string | Yes | all | | set the URL endpoint for this call |
| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions |
| Propriété | Type | Obligatoire | Soutien | Par défaut | Description |
| ------------------- | ------------ | ----------- | ------- | ---------- | -------------------------------------------------------------------------------------------- |
| méthode | chaîne | Non | tous | | HTTP verb |
| packagePattern | chaîne | Non | tous | | N'effectuez cette notification que si le nom du package correspond à l'expression régulière |
| packagePatternFlags | chaîne | Non | all | | Any flags to be used with the regular expression |
| headers | array/object | Yes | all | | If this endpoint requires specific headers, set them here as an array of key: value objects. |
| endpoint | string | Yes | all | | set the URL endpoint for this call |
| content | string | Yes | all | | any [Handlebar](https://handlebarsjs.com/) expressions |

@ -14,20 +14,20 @@ For more information about permissions visit [the authentification section in th
packages:
# scoped packages
'@scope/*':
access: all
publish: all
access: $all
publish: $all
proxy: server2
'private-*':
access: all
publish: all
access: $all
publish: $all
proxy: uplink1
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
access: all
publish: all
access: $all
publish: $all
proxy: uplink2
```
@ -36,8 +36,8 @@ if none is specified, the default one remains
```yaml
packages:
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
The list of valid groups according the default plugins are
@ -58,8 +58,8 @@ If you want to protect specific set packages under your group, you need to do so
```yaml
packages:
'npmuser-*':
access: npmuser
publish: npmuser
access: npmuser
publish: npmuser
```
Restart `verdaccio` and in your console try to install `npmuser-core`.
@ -89,7 +89,6 @@ Defining multiple access groups is fairly easy, just define them with a white sp
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1
```
#### Blocking access to set of packages
@ -100,51 +99,51 @@ If you want to block the acccess/publish to a specific group of packages. Just d
packages:
'old-*':
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
#### Blocking proxying a set of specific packages
#### Bloquer la transmission d'un groupe de paquets spécifiques
You might want to block one or several packages from fetching from remote repositories., but, at the same time, allow others to access different *uplinks*.
Vous voudrez peut-être empêcher les registres distants datteindre un ou plusieurs paquets tout en autorisant les autres à accéder à différentes *uplinks*.
Let's see the following example:
Voyons lexemple suivant:
```yaml
packages:
'jquery':
access: $all
publish: $all
access: $all
publish: $all
'my-company-*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'@my-local-scope/*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'**':
access: all
publish: $authenticated
proxy: npmjs
access: $all
publish: $authenticated
proxy: npmjs
```
Let's describe what we want with the above example:
Nous décrivons ce que nous voulons avec l'exemple précédent:
* I want to host my own `jquery` dependency but I need to avoid proxying it.
* I want all dependencies that match with `my-company-*` but I need to avoid proxying them.
* I want all dependencies that are in the `my-local-scope` scope but I need to avoid proxying them.
* I want proxying for all the rest of the dependencies.
* Je souhaite héberger ma propre dépendance `jquery` mais je dois éviter de la transférer.
* Je veux toutes les dépendances qui coïncident avec <`my-company - *` mais je dois éviter de les transférer.
* Je veux toutes les dépendances qui se trouvent dans la portée `my-local-scope`, mais je dois éviter de les transférer.
* Je veux transférer toutes les dépendances restantes.
Be **aware that the order of your packages definitions is important and always use double wilcard**. Because if you do not include it `verdaccio` will include it for you and the way that your dependencies are resolved will be affected.
**N'oubliez pas l'importance de la commande de colis et utilisez toujours le double astérisque**. Parce que si vous ne l'incluez pas, `verdaccio` l'inclura à votre place et cela affectera la manière dont les dépendances seront résolues.
### Configuration
You can define mutiple `packages` and each of them must have an unique `Regex`. The syntax is based on [minimatch glob expressions](https://github.com/isaacs/minimatch).
Vous pouvez définir mutiple `packages` et chacun deux doit avoir un unique `Regex`. La syntaxe est basée sur [minimatch glob expressions](https://github.com/isaacs/minimatch).
| Property | Type | Required | Example | Support | Description |
| -------- | ------- | -------- | -------------- | ------- | ------------------------------------------- |
| access | string | No | $all | all | define groups allowed to access the package |
| publish | string | No | $authenticated | all | define groups allowed to publish |
| proxy | string | No | npmjs | all | limit look ups for specific uplink |
| storage | boolean | No | [true,false] | all | TODO |
| Propriété | Type | Obligatoire | Exemple | Soutien | Description |
| --------- | --------- | ----------- | -------------- | ------- | -------------------------------------------------- |
| accès | chaîne | Non | $all | tous | définir des groupes autorisés à accéder au package |
| publier | chaîne | Non | $authenticated | tous | définir les groupes autorisés à publier |
| proxy | chaîne | Non | npmjs | tous | limite la recherche d'un uplink spécifique |
| stockage | booléenne | Non | [true,false] | tous | TODO |
> We higlight that we recommend to not use **allow_access**/**allow_publish** and **proxy_access** anymore, those are deprecated and will soon be removed, please use the short version of each of those (**access**/**publish**/**proxy**).
> Nous vous signalons qu'il est déconseillé d'utiliser les **allow_access **/**allow_publish** et les **proxy_access** qui sont obsolètes et qui seront bientôt supprimés. version courte de chacun de ces éléments (**acces**/ **publish**/**proxy**).

@ -2,9 +2,9 @@
id: plugins
title: "Plugins"
---
Verdaccio is an plugabble aplication. It can be extended in many ways, either new authentication methods, adding endpoints or using a custom storage.
Verdaccio est une application extensible. Il peut être étendu de nombreuses manières, ou avec de nouvelles méthodes d'authentification, en ajoutant des points de terminaison ou en utilisant un archivage personnalisé.
> If you are interested to develop your own plugin, read the [development](dev-plugins.md) section.
> Si vous souhaitez développer votre plugin personnel, lisez la section [development](dev-plugins.md).
## Usage

@ -14,20 +14,20 @@ For more information about permissions visit [the authentification section in th
packages:
# scoped packages
'@scope/*':
access: all
publish: all
access: $all
publish: $all
proxy: server2
'private-*':
access: all
publish: all
access: $all
publish: $all
proxy: uplink1
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
access: all
publish: all
access: $all
publish: $all
proxy: uplink2
```
@ -36,8 +36,8 @@ if none is specified, the default one remains
```yaml
packages:
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
The list of valid groups according the default plugins are
@ -58,8 +58,8 @@ If you want to protect specific set packages under your group, you need to do so
```yaml
packages:
'npmuser-*':
access: npmuser
publish: npmuser
access: npmuser
publish: npmuser
```
Restart `verdaccio` and in your console try to install `npmuser-core`.
@ -89,7 +89,6 @@ Defining multiple access groups is fairly easy, just define them with a white sp
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1
```
#### Blocking access to set of packages
@ -100,8 +99,8 @@ If you want to block the acccess/publish to a specific group of packages. Just d
packages:
'old-*':
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
#### Blocking proxying a set of specific packages
@ -113,18 +112,18 @@ Let's see the following example:
```yaml
packages:
'jquery':
access: $all
publish: $all
access: $all
publish: $all
'my-company-*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'@my-local-scope/*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'**':
access: all
publish: $authenticated
proxy: npmjs
access: $all
publish: $authenticated
proxy: npmjs
```
Let's describe what we want with the above example:

@ -14,20 +14,20 @@ Per ulteriori informazioni sui permessi, visita [la sezione autenticazione nella
packages:
# scoped packages
'@scope/*':
access: all
publish: all
access: $all
publish: $all
proxy: server2
'private-*':
access: all
publish: all
access: $all
publish: $all
proxy: uplink1
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
access: all
publish: all
access: $all
publish: $all
proxy: uplink2
```
@ -36,8 +36,8 @@ se non ne viene specificato nemmeno uno, rimane quello predefinito
```yaml
packages:
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
La lista di gruppi validi a seconda dei plugin predefiniti è
@ -58,8 +58,8 @@ Se si desidera proteggere un insieme specifico di pacchetti dentro al proprio gr
```yaml
packages:
'npmuser-*':
access: npmuser
publish: npmuser
access: npmuser
publish: npmuser
```
Riavviare `verdaccio` e provare ad installare `npmuser-core` nella console.
@ -89,7 +89,6 @@ Definire gruppi di accesso multipli è abbastanza facile, è sufficiente disting
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1
```
#### Bloccare l'accesso a gruppi di pacchetti
@ -100,8 +99,8 @@ Se si desidera bloccare l'accesso/pubblicazione ad uno specifico gruppo di pacch
packages:
'old-*':
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
#### Bloccare l'inoltro di un gruppo di pacchetti specifici
@ -113,18 +112,18 @@ Vediamo l'esempio seguente:
```yaml
packages:
'jquery':
access: $all
publish: $all
access: $all
publish: $all
'my-company-*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'@my-local-scope/*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'**':
access: all
publish: $authenticated
proxy: npmjs
access: $all
publish: $authenticated
proxy: npmjs
```
Descriviamo quello che si desidera con l'esempio precedente:

@ -14,20 +14,20 @@ For more information about permissions visit [the authentification section in th
packages:
# scoped packages
'@scope/*':
access: all
publish: all
access: $all
publish: $all
proxy: server2
'private-*':
access: all
publish: all
access: $all
publish: $all
proxy: uplink1
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
access: all
publish: all
access: $all
publish: $all
proxy: uplink2
```
@ -36,8 +36,8 @@ if none is specified, the default one remains
```yaml
packages:
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
The list of valid groups according the default plugins are
@ -58,8 +58,8 @@ If you want to protect specific set packages under your group, you need to do so
```yaml
packages:
'npmuser-*':
access: npmuser
publish: npmuser
access: npmuser
publish: npmuser
```
Restart `verdaccio` and in your console try to install `npmuser-core`.
@ -89,7 +89,6 @@ Defining multiple access groups is fairly easy, just define them with a white sp
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1
```
#### Blocking access to set of packages
@ -100,8 +99,8 @@ If you want to block the acccess/publish to a specific group of packages. Just d
packages:
'old-*':
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
#### Blocking proxying a set of specific packages
@ -113,18 +112,18 @@ Let's see the following example:
```yaml
packages:
'jquery':
access: $all
publish: $all
access: $all
publish: $all
'my-company-*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'@my-local-scope/*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'**':
access: all
publish: $authenticated
proxy: npmjs
access: $all
publish: $authenticated
proxy: npmjs
```
Let's describe what we want with the above example:

@ -14,20 +14,20 @@ For more information about permissions visit [the authentification section in th
packages:
# scoped packages
'@scope/*':
access: all
publish: all
access: $all
publish: $all
proxy: server2
'private-*':
access: all
publish: all
access: $all
publish: $all
proxy: uplink1
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
access: all
publish: all
access: $all
publish: $all
proxy: uplink2
```
@ -36,8 +36,8 @@ if none is specified, the default one remains
```yaml
packages:
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
The list of valid groups according the default plugins are
@ -58,8 +58,8 @@ If you want to protect specific set packages under your group, you need to do so
```yaml
packages:
'npmuser-*':
access: npmuser
publish: npmuser
access: npmuser
publish: npmuser
```
Restart `verdaccio` and in your console try to install `npmuser-core`.
@ -89,7 +89,6 @@ Defining multiple access groups is fairly easy, just define them with a white sp
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1
```
#### Blocking access to set of packages
@ -100,8 +99,8 @@ If you want to block the acccess/publish to a specific group of packages. Just d
packages:
'old-*':
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
#### Blocking proxying a set of specific packages
@ -113,18 +112,18 @@ Let's see the following example:
```yaml
packages:
'jquery':
access: $all
publish: $all
access: $all
publish: $all
'my-company-*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'@my-local-scope/*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'**':
access: all
publish: $authenticated
proxy: npmjs
access: $all
publish: $authenticated
proxy: npmjs
```
Let's describe what we want with the above example:

@ -14,20 +14,20 @@ For more information about permissions visit [the authentification section in th
packages:
# scoped packages
'@scope/*':
access: all
publish: all
access: $all
publish: $all
proxy: server2
'private-*':
access: all
publish: all
access: $all
publish: $all
proxy: uplink1
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
access: all
publish: all
access: $all
publish: $all
proxy: uplink2
```
@ -36,8 +36,8 @@ if none is specified, the default one remains
```yaml
packages:
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
The list of valid groups according the default plugins are
@ -58,8 +58,8 @@ If you want to protect specific set packages under your group, you need to do so
```yaml
packages:
'npmuser-*':
access: npmuser
publish: npmuser
access: npmuser
publish: npmuser
```
Restart `verdaccio` and in your console try to install `npmuser-core`.
@ -89,7 +89,6 @@ Defining multiple access groups is fairly easy, just define them with a white sp
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1
```
#### Blocking access to set of packages
@ -100,8 +99,8 @@ If you want to block the acccess/publish to a specific group of packages. Just d
packages:
'old-*':
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
#### Blocking proxying a set of specific packages
@ -113,18 +112,18 @@ Let's see the following example:
```yaml
packages:
'jquery':
access: $all
publish: $all
access: $all
publish: $all
'my-company-*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'@my-local-scope/*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'**':
access: all
publish: $authenticated
proxy: npmjs
access: $all
publish: $authenticated
proxy: npmjs
```
Let's describe what we want with the above example:

@ -14,20 +14,20 @@ For more information about permissions visit [the authentification section in th
packages:
# scoped packages
'@scope/*':
access: all
publish: all
access: $all
publish: $all
proxy: server2
'private-*':
access: all
publish: all
access: $all
publish: $all
proxy: uplink1
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
access: all
publish: all
access: $all
publish: $all
proxy: uplink2
```
@ -36,8 +36,8 @@ if none is specified, the default one remains
```yaml
packages:
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
The list of valid groups according the default plugins are
@ -58,8 +58,8 @@ If you want to protect specific set packages under your group, you need to do so
```yaml
packages:
'npmuser-*':
access: npmuser
publish: npmuser
access: npmuser
publish: npmuser
```
Restart `verdaccio` and in your console try to install `npmuser-core`.
@ -89,7 +89,6 @@ Defining multiple access groups is fairly easy, just define them with a white sp
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1
```
#### Blocking access to set of packages
@ -100,8 +99,8 @@ If you want to block the acccess/publish to a specific group of packages. Just d
packages:
'old-*':
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
#### Blocking proxying a set of specific packages
@ -113,18 +112,18 @@ Let's see the following example:
```yaml
packages:
'jquery':
access: $all
publish: $all
access: $all
publish: $all
'my-company-*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'@my-local-scope/*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'**':
access: all
publish: $authenticated
proxy: npmjs
access: $all
publish: $authenticated
proxy: npmjs
```
Let's describe what we want with the above example:

@ -14,20 +14,20 @@ For more information about permissions visit [the authentification section in th
packages:
# scoped packages
'@scope/*':
access: all
publish: all
access: $all
publish: $all
proxy: server2
'private-*':
access: all
publish: all
access: $all
publish: $all
proxy: uplink1
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
access: all
publish: all
access: $all
publish: $all
proxy: uplink2
```
@ -36,8 +36,8 @@ if none is specified, the default one remains
```yaml
packages:
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
The list of valid groups according the default plugins are
@ -58,8 +58,8 @@ If you want to protect specific set packages under your group, you need to do so
```yaml
packages:
'npmuser-*':
access: npmuser
publish: npmuser
access: npmuser
publish: npmuser
```
Restart `verdaccio` and in your console try to install `npmuser-core`.
@ -89,7 +89,6 @@ Defining multiple access groups is fairly easy, just define them with a white sp
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1
```
#### Blocking access to set of packages
@ -100,8 +99,8 @@ If you want to block the acccess/publish to a specific group of packages. Just d
packages:
'old-*':
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
#### Blocking proxying a set of specific packages
@ -113,18 +112,18 @@ Let's see the following example:
```yaml
packages:
'jquery':
access: $all
publish: $all
access: $all
publish: $all
'my-company-*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'@my-local-scope/*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'**':
access: all
publish: $authenticated
proxy: npmjs
access: $all
publish: $authenticated
proxy: npmjs
```
Let's describe what we want with the above example:

@ -14,20 +14,20 @@ For more information about permissions visit [the authentification section in th
packages:
# scoped packages
'@scope/*':
access: all
publish: all
access: $all
publish: $all
proxy: server2
'private-*':
access: all
publish: all
access: $all
publish: $all
proxy: uplink1
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
access: all
publish: all
access: $all
publish: $all
proxy: uplink2
```
@ -36,8 +36,8 @@ if none is specified, the default one remains
```yaml
packages:
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
The list of valid groups according the default plugins are
@ -58,8 +58,8 @@ If you want to protect specific set packages under your group, you need to do so
```yaml
packages:
'npmuser-*':
access: npmuser
publish: npmuser
access: npmuser
publish: npmuser
```
Restart `verdaccio` and in your console try to install `npmuser-core`.
@ -89,7 +89,6 @@ Defining multiple access groups is fairly easy, just define them with a white sp
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1
```
#### Blocking access to set of packages
@ -100,8 +99,8 @@ If you want to block the acccess/publish to a specific group of packages. Just d
packages:
'old-*':
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
#### Blocking proxying a set of specific packages
@ -113,18 +112,18 @@ Let's see the following example:
```yaml
packages:
'jquery':
access: $all
publish: $all
access: $all
publish: $all
'my-company-*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'@my-local-scope/*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'**':
access: all
publish: $authenticated
proxy: npmjs
access: $all
publish: $authenticated
proxy: npmjs
```
Let's describe what we want with the above example:

@ -2,12 +2,13 @@
id: ansible
title: "Ansible"
---
We have a customised solution for `verdaccio` in our organization.
U okviru naše organizacije, nudimo prilagođena rešenja za `verdaccio`.
<https://github.com/verdaccio/ansible-verdaccio>
#### Other options
#### Ostale mogućnosti
* Ansible role for Gentoo users: [jirutka/ansible-role-sinopia](https://github.com/jirutka/ansible-role-sinopia).
* Ansible role for Ubuntu users: [jagregory/sinopia-ansible](https://github.com/jagregory/sinopia-ansible).
* Primena Ansible-a za korisnike Gentoo-a: [jirutka/ansible-role-sinopia](https://github.com/jirutka/ansible-role-sinopia).
* Ansible role za korisnike Ubuntu-a: [jagregory/sinopia-ansible](https://github.com/jagregory/sinopia-ansible).
* ansible-verdaccio-role <https://github.com/refinery29/ansible-verdaccio-role>

@ -1,16 +1,17 @@
---
id: authentification
title: "Authentification"
---
The authentification is tied to the auth [plugin](plugins.md) you are using. The package restrictions also is handled by the [Package Access](packages.md).
The client authentification is handled by `npm` client itself. Once you login to the application:
id: autentifikacija
title: "Autentifikacija"
---
Autentifikacija je vezana za auth [plugin](plugins.md) koji koristite. Ograničenja paketa su definisana preko [Package Access](packages.md).
Autentifikacija klijenta vrši sam klijent putem `npm`. Nakon prijave na alikaciju:
```bash
npm adduser --registry http://localhost:4873
```
A token is generated in the `npm` configuration file hosted in your user home folder. For more information about `.npmrc` read the [official documentation](https://docs.npmjs.com/files/npmrc).
Token se generiše u fajlu za konfiguraciju `npm`, koji se nalazi u home folder-u korisnika. Kako biste saznali više o `.npmrc` pročitajte [, zvaničnu dokumentaciju](https://docs.npmjs.com/files/npmrc).
```bash
cat .npmrc
@ -19,11 +20,11 @@ registry=http://localhost:5555/
//registry.npmjs.org/:_authToken=secretNpmjsToken
```
#### Anonymous publish
#### Anonimno publikovanje
`verdaccio`allows you to enable anonymous publish, to achieve that you will need to set up correctly your [packages access](packages.md).
`verdaccio`Vam omogućava da pružite mogućnost anonimnog publikovanja. Kako biste uspeli u tome, potrebno je da podesite [packages access](packages.md).
Eg:
Primer:
```yaml
'my-company-*':
@ -32,24 +33,24 @@ Eg:
proxy: npmjs
```
As is described [on issue #212](https://github.com/verdaccio/verdaccio/issues/212#issuecomment-308578500) until `npm@5.3.0` and all minor releases **won't allow you publish without a token**. However `yarn` has not such limitation.
Kao što je opisano, [on issue #212](https://github.com/verdaccio/verdaccio/issues/212#issuecomment-308578500) sve dok `npm@5.3.0` i sve verzije ne budu usaglašene **neće Vam biti omogućeno da publikujete bez tokena**. Ipak, `yarn` nema ta ograničenja.
## Default htpasswd
## Podrazumevana htpasswd
In order to simplify the setup, `verdaccio` use a plugin based on `htpasswd`. As of version v3.0.x an [external plugin](https://github.com/verdaccio/verdaccio-htpasswd) is used by default. The v2.x version of this package still contains the built-in version of this plugin.
Kako bi se pojednostavio setup, `verdaccio` koristi plugin baziran na `htpasswd`. Od verzije v3.0.x an [eksterni plugin](https://github.com/verdaccio/verdaccio-htpasswd) se koristi kao podrazumevan. Verzija v2.x i dalje sadrži ugrađenu verziju ovog plugin-a.
```yaml
auth:
htpasswd:
file: ./htpasswd
# Maximum amount of users allowed to register, defaults to "+inf".
# You can set this to -1 to disable registration.
# Maksimalni broj korisnika koji se može registovati, podrazumevano je beskonačno, "+inf".
# Ovo možete podesiti na -1 kako biste onemogućili registrovanje.
#max_users: 1000
```
| Property | Type | Required | Example | Support | Description |
| --------- | ------ | -------- | ---------- | ------- | ---------------------------------------- |
| file | string | Yes | ./htpasswd | all | file that host the encrypted credentials |
| max_users | number | No | 1000 | all | set limit of users |
| Svojstvo | Tip | Potrebno | Primer | Podrška | Opis |
| --------- | ------ | -------- | ---------- | ------- | -------------------------------------- |
| file | string | Da | ./htpasswd | potpuna | file koji sadrži šivrovane credentials |
| max_users | broj | Ne | 1000 | potpuna | podešava maksimalni broj korisnika |
In case to decide do not allow user to login, you can set `max_users: -1`.
Ako se odlučite na to da ne dozvolite korisnicima da se prijave, možete podesiti `max_users: -1`.

@ -2,12 +2,12 @@
id: build
title: "Build the source code"
---
Verdaccio relies on `yarn` instead `npm` to download dependencies.
Verdaccio se oslanja na `yarn` umesto na `npm` kako bi preuzeo dependencies.
*Note: the current build only will build with `➜ yarn@1.x`.
*Napomena: trenutni build će moći da radi samo sa build with `➜ yarn@1.x`.
```bash
yarn install
```
To see the complete list of scripts, [click here](https://github.com/verdaccio/verdaccio/wiki/Build-Source-Code).
Kako biste videli kompletnu listu scripts-a, [kliknite ovde](https://github.com/verdaccio/verdaccio/wiki/Build-Source-Code).

@ -2,13 +2,13 @@
id: chef
title: "Chef Cookbook"
---
Using Chef Cookbook for Verdaccio
Koristite Chef Cookbook za Verdaccio
For further information:
Za dalje informacije:
* <https://github.com/verdaccio/verdaccio-cookbook>
* <https://supermarket.chef.io/cookbooks/verdaccio>
> We are looking for contributors for this repository, if you are interested please notify the author via tickets.
> Tražimo saradnike za ovaj repozitorijum, ako ste zainteresovani, molimo Vas da se javite autoru preko tickets-a.
Author: [Keli Grubb](https://github.com/kgrubb) && Barthelemy Vessemont.
Autori: [Keli Grubb](https://github.com/kgrubb) && Barthelemy Vessemont.

@ -2,7 +2,7 @@
id: ci
title: "Continuous Integration"
---
You may use verdaccio with continuous integration while login or publish. When using NPM to install a private module in a continuous integration environment for the first time, a brick wall is quickly hit. The NPM login command is designed to be used interactively. This causes an issue in CI, scripts, etc. Heres how to use NPM login different continuous integration platforms.
Možete koristiti verdaccio sa continuous integration dok vršite login ili publikovanje. Kada po prvi put koristite NPM kako biste instalirali private module u continuous integration okruženje, udarićete glavom u zid. Komanda za NPM login je dizajnirana tako da se koristi na interaktivan način. To pravi probleme u CI, scripts, i čemu sve ne. Evo kako bi trebalo da koristite NPM login za različite continuous integration platforme.
- [Travis CI](https://remysharp.com/2015/10/26/using-travis-with-private-npm-deps)
- [Circle CI 1.0](https://circleci.com/docs/1.0/npm-login/) or [Circle CI 2.0](https://circleci.com/docs/2.0/deployment-integrations/#npm)

@ -2,23 +2,23 @@
id: cli
title: "Command Line Tool"
---
The verdaccio CLI is your go start the application.
Verdaccio CLI je Vaša pošetna stanica za pokretanje aplikacije.
## Commands
## Komande
```bash
verdaccio --listen 4000 --config ~./config.yaml
```
| Command | Default | Example | Description |
| Komanda | Podrazumevano | Primer | Opis |
| ------------------ | ------------------------------ | -------------- | ---------------------- |
| --listen \ **-l** | 4873 | -p 7000 | http port |
| --config \ **-c** | ~/.local/verdaccio/config.yaml | ~./config.yaml | the configuration file |
| --config \ **-c** | ~/.local/verdaccio/config.yaml | ~./config.yaml | file za konfigurisanje |
## Default config file location
## Podrazumevana lokacija config file-a
To locate the home directory, we rely on **$XDG_DATA_HOME** as a first choice and Windows environment we look for [APPDATA environment variable](https://www.howtogeek.com/318177/what-is-the-appdata-folder-in-windows/).
Kako bismo locirali home directory, oslanjamo se na **$XDG_DATA_HOME** kao prvi izbor u Windows okruženju gde tragamo za [APPDATA environment variablom](https://www.howtogeek.com/318177/what-is-the-appdata-folder-in-windows/).
## Default storage location
## Podrazumevana lokacija za čuvanje
We use **$XDG_DATA_HOME** environment variable as default to locate the storage by default which [should be the same](https://askubuntu.com/questions/538526/is-home-local-share-the-default-value-for-xdg-data-home-in-ubuntu-14-04) as $HOME/.local/share. If you are using a custom storage, this location is irrelevant.
Koristimo **$XDG_DATA_HOME** environment variablu kao podrazumevano podešavanje kako bismo locirali podrazumevano mesto za čuvanje koje bi trebalo [da bude isto](https://askubuntu.com/questions/538526/is-home-local-share-the-default-value-for-xdg-data-home-in-ubuntu-14-04) kao $HOME/.local/share. Ako koristite prilagođeno mesto za čuvanje podataka (custom storage,) onda je lokacija irelevantna.

@ -14,20 +14,20 @@ For more information about permissions visit [the authentification section in th
packages:
# scoped packages
'@scope/*':
access: all
publish: all
access: $all
publish: $all
proxy: server2
'private-*':
access: all
publish: all
access: $all
publish: $all
proxy: uplink1
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
access: all
publish: all
access: $all
publish: $all
proxy: uplink2
```
@ -36,8 +36,8 @@ if none is specified, the default one remains
```yaml
packages:
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
The list of valid groups according the default plugins are
@ -58,8 +58,8 @@ If you want to protect specific set packages under your group, you need to do so
```yaml
packages:
'npmuser-*':
access: npmuser
publish: npmuser
access: npmuser
publish: npmuser
```
Restart `verdaccio` and in your console try to install `npmuser-core`.
@ -89,7 +89,6 @@ Defining multiple access groups is fairly easy, just define them with a white sp
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1
```
#### Blocking access to set of packages
@ -100,8 +99,8 @@ If you want to block the acccess/publish to a specific group of packages. Just d
packages:
'old-*':
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
#### Blocking proxying a set of specific packages
@ -113,18 +112,18 @@ Let's see the following example:
```yaml
packages:
'jquery':
access: $all
publish: $all
access: $all
publish: $all
'my-company-*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'@my-local-scope/*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'**':
access: all
publish: $authenticated
proxy: npmjs
access: $all
publish: $authenticated
proxy: npmjs
```
Let's describe what we want with the above example:

@ -2,11 +2,11 @@
id: uplinks
title: "Uplinks"
---
An *uplink* is a link with an external registry that provides acccess to external packages.
*uplink* je link koji sadrži external registry koji omogućava pristup do external packages.
![Uplinks](/img/uplinks.png)
### Usage
### Kako se koristi
```yaml
uplinks:
@ -21,36 +21,29 @@ uplinks:
url: http://localhost:55666/
```
### Configuration
### Konfigurisanje
You can define mutiple uplinks and each of them must have an unique name (key). They can have two properties:
Možete definisati više uplinks-a, a svaki od njih mora imati jedinstveno ime (key). uplinks mogu imati dva svojstva:
| Property | Type | Required | Example | Support | Description | Default |
| ------------ | ------- | -------- | --------------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------- | ---------- |
| url | string | Yes | https://registry.npmjs.org/ | all | The registry url | npmjs |
| ca | string | No | ~./ssl/client.crt' | all | SSL path certificate | No default |
| timeout | string | No | 100ms | all | set new timeout for the request | 30s |
| maxage | string | No | 10m | all | limit maximun failure request | 2m |
| fail_timeout | string | No | 10m | all | defines max time when a request becomes a failure | 5m |
| max_fails | number | No | 2 | all | limit maximun failure request | 2 |
| cache | boolean | No | [true,false] | >= 2.1 | cache all remote tarballs in storage | true |
| auth | list | No | [see below](uplinks.md#auth-property) | >= 2.5 | assigns the header 'Authorization' [more info](http://blog.npmjs.org/post/118393368555/deploying-with-npm-private-modules) | disabled |
| headers | list | No | authorization: "Bearer SecretJWToken==" | all | list of custom headers for the uplink | disabled |
| strict_ssl | boolean | No | [true,false] | >= 3.0 | If true, requires SSL certificates be valid. | true |
| Svojstvo | Tip | Potrebno | Primer | Podrška | Opis | Podrazumevano |
| ------------------- | ------- | -------- | -------------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------- | ----------------- |
| url | string | Da | https://registry.npmjs.org/ | potpuna | Url registry-a | npmjs |
| ca | string | Ne | ~./ssl/client.crt' | potpuna | Put to SSL certifikata | Nema ništa zadato |
| timeout | string | Ne | 100ms | potpuna | podesite novi timeout za request | 30s |
| maxage | string | Ne | 10m | potpuna | limitira maksimalni broj neuspelih zahteva | 2m |
| fail_timeout | string | Ne | 10m | potpuna | definiše maksimalno vreme nakon kojeg zahtev postaje neuspešan | 5m |
| max_fails | number | No | 2 | potpuna | limitira maksimalni broj neuspelih zahteva | 2 |
| cache | boolean | Ne | [true,false] | >= 2.1 | keširanje svih tarballs iz storage-a | true |
| auth | list | Ne | [vidi ispod](uplinks.md#auth-property) | >= 2.5 | dodeljuje zaglavlje 'Authorization' [više informacija](http://blog.npmjs.org/post/118393368555/deploying-with-npm-private-modules) | onemogućeno |
| zaglavlja (headers) | list | Ne | autorizacija: "Bearer SecretJWToken==" | potpuna | lista korisničkih, prilagođenih zaglavlja za uplink | onemogućeno |
| strict_ssl | boolean | Ne | [true,false] | > = 3.0 | If true, zahteva da SSL certifikat bude validan. | true |
#### Auth property
The `auth` property allows you to use an auth token with an uplink. Using the default environment variable:
```yaml
uplinks:
private:
url: https://private-registry.domain.com/registry
auth:
type: bearer
token_env: true # defaults to `process.env['NPM_TOKEN']`
```
Svojstvo `auth` Vam omogućava da koristite auth token sa uplink. Koristite podrazumevanu environment variablu:
ili preko definisane environment variable:
=======
or via a specified environment variable:
```yaml
@ -62,9 +55,9 @@ uplinks:
token_env: FOO_TOKEN
```
`token_env: FOO_TOKEN`internally will use `process.env['FOO_TOKEN']`
`token_env: FOO_TOKEN`za internu upotrebu koristi `process.env['FOO_TOKEN']`
or by directly specifying a token:
ili je direktno definisano tokenom:
```yaml
uplinks:
@ -75,12 +68,12 @@ uplinks:
token: "token"
```
> Note: `token` has priority over `token_env`
> Napomena: `token` ima prioritet nad `token_env`
### You Must know
### Valjalo bi znati
* Verdaccio does not use Basic Authentication since version `v2.3.0`. All tokens generated by verdaccio are based on JWT ([JSON Web Token](https://jwt.io/))
* Uplinks must be registries compatible with the `npm` endpoints. Eg: *verdaccio*, `sinopia@1.4.0`, *npmjs registry*, *yarn registry*, *JFrog*, *Nexus* and more.
* Setting `cache` to false will help to save space in your hard drive. This will avoid store `tarballs` but [it will keep metadata in folders](https://github.com/verdaccio/verdaccio/issues/391).
* Exceed with multiple uplinks might slow down the lookup of your packages due for each request a npm client does, verdaccio does 1 call for each uplink.
* The (timeout, maxage and fail_timeout) format follow the [NGINX measurement units](http://nginx.org/en/docs/syntax.html)
* Verdaccio ne koristi Basic Authentication od verzije `v2.3.0`. Svi tokeni koje generiše verdaccio, bazirani su na JWT ([JSON Web Token](https://jwt.io/))
* Uplinks moraju biti registries kompatibilni sa `npm` endpoints. Primer: *verdaccio*, `sinopia@1.4.0`, *npmjs registry*, *yarn registry*, *JFrog*, *Nexus* i tako dalje.
* Podešavanje `cache` na false, pomoći će da se uštedi prostor na hard disku. Tako se izbgava čuvanje `tarballs-a` ali [će čuvati metadata u folderima](https://github.com/verdaccio/verdaccio/issues/391).
* Preterivanje sa uplinks može usporiti lookup Vaših packages-a jer svaki put kada npm client traži zahtev, verdaccio pravi 1 pozivanje za svaki uplink.
* Format za (timeout, maxage i fail_timeout) je usklađen sa [NGINX jedinicama mere](http://nginx.org/en/docs/syntax.html)

@ -14,20 +14,20 @@ For more information about permissions visit [the authentification section in th
packages:
# scoped packages
'@scope/*':
access: all
publish: all
access: $all
publish: $all
proxy: server2
'private-*':
access: all
publish: all
access: $all
publish: $all
proxy: uplink1
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
access: all
publish: all
access: $all
publish: $all
proxy: uplink2
```
@ -36,8 +36,8 @@ if none is specified, the default one remains
```yaml
packages:
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
The list of valid groups according the default plugins are
@ -58,8 +58,8 @@ If you want to protect specific set packages under your group, you need to do so
```yaml
packages:
'npmuser-*':
access: npmuser
publish: npmuser
access: npmuser
publish: npmuser
```
Restart `verdaccio` and in your console try to install `npmuser-core`.
@ -89,7 +89,6 @@ Defining multiple access groups is fairly easy, just define them with a white sp
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1
```
#### Blocking access to set of packages
@ -100,8 +99,8 @@ If you want to block the acccess/publish to a specific group of packages. Just d
packages:
'old-*':
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
#### Blocking proxying a set of specific packages
@ -113,18 +112,18 @@ Let's see the following example:
```yaml
packages:
'jquery':
access: $all
publish: $all
access: $all
publish: $all
'my-company-*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'@my-local-scope/*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'**':
access: all
publish: $authenticated
proxy: npmjs
access: $all
publish: $authenticated
proxy: npmjs
```
Let's describe what we want with the above example:

@ -14,20 +14,20 @@ For more information about permissions visit [the authentification section in th
packages:
# scoped packages
'@scope/*':
access: all
publish: all
access: $all
publish: $all
proxy: server2
'private-*':
access: all
publish: all
access: $all
publish: $all
proxy: uplink1
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
access: all
publish: all
access: $all
publish: $all
proxy: uplink2
```
@ -36,8 +36,8 @@ if none is specified, the default one remains
```yaml
packages:
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
The list of valid groups according the default plugins are
@ -58,8 +58,8 @@ If you want to protect specific set packages under your group, you need to do so
```yaml
packages:
'npmuser-*':
access: npmuser
publish: npmuser
access: npmuser
publish: npmuser
```
Restart `verdaccio` and in your console try to install `npmuser-core`.
@ -89,7 +89,6 @@ Defining multiple access groups is fairly easy, just define them with a white sp
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1
```
#### Blocking access to set of packages
@ -100,8 +99,8 @@ If you want to block the acccess/publish to a specific group of packages. Just d
packages:
'old-*':
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
#### Blocking proxying a set of specific packages
@ -113,18 +112,18 @@ Let's see the following example:
```yaml
packages:
'jquery':
access: $all
publish: $all
access: $all
publish: $all
'my-company-*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'@my-local-scope/*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'**':
access: all
publish: $authenticated
proxy: npmjs
access: $all
publish: $authenticated
proxy: npmjs
```
Let's describe what we want with the above example:

@ -14,20 +14,20 @@ title: "包的访问"
packages:
# scoped packages
'@scope/*':
access: all
publish: all
access: $all
publish: $all
proxy: server2
'private-*':
access: all
publish: all
access: $all
publish: $all
proxy: uplink1
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
access: all
publish: all
access: $all
publish: $all
proxy: uplink2
```
@ -36,8 +36,8 @@ packages:
```yaml
packages:
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
根据默认插件设置,有效的组列表为
@ -58,8 +58,8 @@ packages:
```yaml
packages:
'npmuser-*':
access: npmuser
publish: npmuser
access: npmuser
publish: npmuser
```
重启`verdaccio`并在命令行中尝试安装`npmuser-core`。
@ -89,7 +89,6 @@ npm ERR! /Users/user/.npm/_logs/2017-07-02T12_20_14_834Z-debug.log
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1
```
#### 阻止对一组包的访问
@ -100,8 +99,8 @@ npm ERR! /Users/user/.npm/_logs/2017-07-02T12_20_14_834Z-debug.log
packages:
'old-*':
'**':
access: all
publish: $authenticated
access: $all
publish: $authenticated
```
#### 阻止代理一组特定包
@ -113,18 +112,18 @@ packages:
```yaml
packages:
'jquery':
access: $all
publish: $all
access: $all
publish: $all
'my-company-*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'@my-local-scope/*':
access: $all
publish: $authenticated
access: $all
publish: $authenticated
'**':
access: all
publish: $authenticated
proxy: npmjs
access: $all
publish: $authenticated
proxy: npmjs
```
让我们描述一下在上面的示例中我们想要做什么: