[{"data":1,"prerenderedAt":109},["ShallowReactive",2],{"seo-verification":3,"marketplace-app-es-verdaccio":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"marketplace-app-es-verdaccio",{"slug":9,"slugs":10,"categorySlugs":11,"name":16,"description":17,"phase":18,"unavailableReason":19,"docsUrl":20,"logo":21,"github":21,"tagline":22,"longDescription":23,"features":24,"useCases":31,"steps":41,"faq":54,"specs":70,"compatibleOs":80,"relatedApps":81,"relatedPosts":104,"category":106},"verdaccio",{"fr":9,"en":9,"ar":9,"es":9},{"fr":12,"en":13,"ar":14,"es":15},"developpement","development","التطوير","desarrollo","Verdaccio","Registro privado npm\u002Fyarn\u002Fpnpm autoalojado: proxy de npmjs.org, publicación de paquetes internos y control total de tu cadena de suministro JavaScript en tu VPS.",2,"awaiting_qa","https:\u002F\u002Fservorbit.com\u002Fblog\u002Falojar-verdaccio-en-un-vps-registro-npm-privado",null,"Verdaccio — registro npm\u002Fyarn\u002Fpnpm privado autoalojado en VPS.","Verdaccio es un registro npm privado ligero de código abierto (MIT), escrito en Node.js, que actúa tanto como proxy como capa de alojamiento para tus paquetes JavaScript.\n\nComo proxy, reenvía de forma transparente las solicitudes de paquetes públicos a npmjs.org y los almacena en caché localmente — tus pipelines de CI siguen funcionando incluso cuando el registro público cae, y las instalaciones repetidas se sirven instantáneamente desde disco. Como registro privado, permite publicar paquetes internos bajo cualquier scope (`@company\u002F...`) y mantenerlos completamente fuera de internet.\n\nVerdaccio se despliega en un único contenedor Docker sin dependencias de base de datos externas. Habla el protocolo npm completo, por lo que npm, Yarn y pnpm funcionan sin modificaciones: simplemente apunta la URL del registro a tu VPS.",[25,26,27,28,29,30],"Proxy de npmjs.org — almacena paquetes en caché para que las builds de CI nunca fallen por cortes del registro.","Publicación de paquetes privados — publica y versiona tus librerías internas sin exponerlas al registro público.","Soporte multicliente — funciona con npm, Yarn y pnpm sin ningún cambio en la configuración del cliente.","Despliegue en contenedor único ligero — funciona con menos de 128 MB de RAM en un VPS ServOrbit.","Control de acceso por token — crea cuentas y tokens API para restringir quién puede leer o publicar en cada scope.","Modo sin conexión — sirve paquetes en caché sin internet para builds reproducibles en entornos aislados.",[32,35,38],{"title":33,"body":34},"Registro privado para tu equipo","Publica librerías JavaScript internas bajo tu propio namespace. Cualquier desarrollador las instala igual que los paquetes públicos — sin URLs Git manuales ni copiar y pegar.",{"title":36,"body":37},"Caché fiable para CI","Proxifica npmjs.org a través de Verdaccio y almacena en caché cada paquete descargado. Si el registro público cae durante una build, Verdaccio sirve la versión en caché de forma transparente.",{"title":39,"body":40},"Entornos sin conexión","Precarga la caché con una instalación con internet y luego desconéctala. Verdaccio sigue sirviendo todos los paquetes vistos previamente sin necesidad de internet.",[42,45,48,51],{"title":43,"body":44},"Conectar al registro","Verdaccio no necesita dominio. Abre un túnel SSH: `ssh -L 4873:127.0.0.1:\u003Cport> root@\u003Cvps-ip>`, luego apunta npm al túnel: `npm set registry http:\u002F\u002Flocalhost:4873`. Para acceso permanente del equipo, adjunta un dominio desde el panel de ServOrbit.",{"title":46,"body":47},"Crear tu primer usuario","Ejecuta `npm adduser --registry http:\u002F\u002Flocalhost:4873`. Introduce un nombre de usuario, contraseña y correo. Este primer usuario se convierte en administrador del registro.",{"title":49,"body":50},"Publicar un paquete privado","En el directorio de tu paquete, ejecuta `npm publish --registry http:\u002F\u002Flocalhost:4873`. El paquete se almacena en el VPS y queda disponible para cualquier desarrollador o sistema CI autenticado.",{"title":52,"body":53},"Configurar reglas de scope proxy (opcional)","Edita `config.yaml` dentro del volumen del contenedor para enrutar scopes específicos a tu registro privado y el resto a npmjs.org. Reinicia el contenedor para aplicar los cambios.",[55,58,61,64,67],{"q":56,"a":57},"¿Verdaccio reemplaza a npmjs.org?","No. Verdaccio proxifica npmjs.org por defecto — las solicitudes de paquetes no presentes en el registro local se reenvían al registro público, se almacenan en caché y se sirven. Puedes seguir usando todos los paquetes públicos con normalidad.",{"q":59,"a":60},"¿Verdaccio requiere un nombre de dominio?","No. Verdaccio escucha en el puerto 4873 y puedes acceder mediante un túnel SSH sin dominio. Para acceso permanente del equipo, adjunta un dominio desde el panel de ServOrbit para que nginx lo proxifique en HTTPS.",{"q":62,"a":63},"¿Es compatible con Yarn y pnpm?","Sí. Verdaccio implementa el protocolo npm completo. Yarn y pnpm soportan la opción `--registry` y los archivos `.npmrc`\u002F`.yarnrc.yml` para apuntar a un registro personalizado, sin plugins adicionales.",{"q":65,"a":66},"¿Cómo actualizo Verdaccio?","Descarga la nueva imagen y reinicia: `docker compose pull && docker compose up -d`. Los paquetes se almacenan en el volumen Docker `verdaccio-storage`, que se preserva entre actualizaciones de imagen.",{"q":68,"a":69},"¿Puedo usar un registro privado existente como uplink?","Sí. Configura un `uplink` en `config.yaml` que apunte a tu registro existente. Verdaccio lo proxificará y almacenará en caché localmente, permitiéndote consolidar múltiples fuentes de registro detrás de un único endpoint.",{"cpu":71,"ram":72,"stack":73,"port":76,"license":77,"version":78,"os":79},"1 vCPU","\u003C 128 MB",[74,75],"Docker","Node.js","4873","MIT","6.10.4","Ubuntu 24.04",[],[82,90,95],{"name":83,"slug":84,"categorySlug":15,"categoryName":85,"categoryColor":86,"logo":87,"tagline":88,"description":89},"Gitea","gitea","Desarrollo","text-warning bg-warning\u002F10","https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Fselfhst\u002Ficons\u002Fsvg\u002Fgitea.svg","Su propio GitHub, autoalojado en un solo VPS: repositorios, pull requests, CI\u002FCD con Gitea Actions y registro de paquetes, sin facturación por desarrollador.","Su propio GitHub, autoalojado en cuestión de minutos. Plataforma Git completa con CI\u002FCD (Gitea Actions), registro de paquetes y permisos de equipo, sin facturación por uso.",{"name":91,"slug":92,"categorySlug":15,"categoryName":85,"categoryColor":86,"logo":21,"tagline":93,"description":94},"OneDev","onedev","Forja Git, CI\u002FCD visual y Kanban en un solo contenedor — sin suscripción por desarrollador ni servicio externo.","Forja Git con CI\u002FCD visual y Kanban integrados en un solo contenedor — sin suscripción por desarrollador ni servicio externo.",{"name":96,"slug":97,"categorySlug":98,"categoryName":99,"categoryColor":100,"logo":101,"tagline":102,"description":103},"Semaphore UI","semaphore","despliegue-de-aplicaciones-devops","Despliegue de Aplicaciones y DevOps","text-success bg-success\u002F10","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F58506378","Panel web self-hosted para Ansible\u002FTerraform — sin CLI, base de datos SQLite integrada.","Interfaz web de código abierto para Ansible, Terraform y OpenTofu — ejecuta, programa y supervisa tus playbooks desde un panel sin línea de comandos.",[105],"securiser-chaine-approvisionnement-npm-ci",{"key":12,"slug":15,"name":85,"objective":107,"icon":108,"color":86},"Poner en marcha rápidamente un proyecto de software.","dev",1790385929710]