Skip to main content

Configuración del Servidor

Esta materia es principalmente la configuración básica del servidor de linux pero me pareció importante documentar y compartir los pasos que tomé para obtener la ejecución de verdaccio permanentemente en mi servidor. Necesitará permisos de root (o sudo) para lo siguiente.

Ejecutar como un usuario separado

Crear primero el usuario de verdaccio:

$ sudo adduser --system --gecos 'Verdaccio NPM mirror' --group --home /var/lib/verdaccio verdaccio

Or, in case you do not have adduser:

$ sudo useradd --system --comment 'Verdaccio NPM mirror' --create-home --home-dir /var/lib/verdaccio --shell /sbin/nologin verdaccio

You create a shell as the verdaccio user using the following command:

$ sudo su -s /bin/bash verdaccio
$ cd

The cd command sends you to the home directory of the verdaccio user. Make sure you run verdaccio at least once to generate the config file. Edit it according to your needs.

Atender todas las direcciones

If you want to listen to every external address set the listen directive in the config to:

# you can specify listen address (or simply a port)
listen: 0.0.0.0:4873

If you are running verdaccio in a Amazon EC2 Instance, you will need set the listen in change your config file as is described above.

Configure Apache or nginx? Configure Apache or nginx? Please check out the Reverse Proxy Setup

Mantener verdaccio ejecutándose para siempre

You can use node package called 'forever' to keep verdaccio running all the time.

First install forever globally:

$ sudo npm install -g forever

Make sure you've run verdaccio at least once to generate the config file and write down the created admin user. You can then use the following command to start verdaccio:

$ forever start `which verdaccio`

You can check the documentation for more information on how to use forever.

Sobrevivir a los reinicios del servidor

You can use crontab and forever together to start verdaccio after a server reboot.

When you're logged in as the verdaccio user do the following:

$ crontab -e

This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file:

@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio

The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command:

$ which forever
$ which verdaccio

Using systemd

Instead of forever you can use systemd for starting verdaccio and keeping it running. Verdaccio installation has systemd unit, you only need to copy it:

$ sudo cp /usr/lib/node_modules/verdaccio/systemd/verdaccio.service /lib/systemd/system/ && sudo systemctl daemon-reload

This unit assumes you have configuration in /etc/verdaccio/config.yaml and store data in /var/lib/verdaccio, so either move your files to those locations or edit the unit.