3

I have encountered a sneaky un-documented breaking change migrating from my private Verdaccio registry from v3 to v4.

After migration, the v4 is not loading the existing storage content that is define in a docker volume as it was done for v3. After login the list of libraries is empty.

I have found this thread from github about this issue, but none of the proposed solution solves my problem : https://github.com/verdaccio/verdaccio/issues/1324

I am using docker-compose to load verdaccio from docker hub and the docker-compose file is the followig (works perfectly with v3) :

version: "2"
services:
  verdaccio:
  image: verdaccio/verdaccio:3.13
  container_name: verdaccio
  ports:
    - "4873:4873"
  volumes:
    - verdaccio_data:/verdaccio
volumes:
  verdaccio_data:
    external: true

Following the proposed solutions in the github thread, I have tried to define a docker volume per folder as :

version: "3"
services:
  verdaccio:
    image: verdaccio/verdaccio:4.13
    container_name: verdaccio
    ports:
      - "4873:4873"
    volumes:
      - verdaccio_data_conf:/verdaccio/conf
      - verdaccio_data_storage:/verdaccio/storage
volumes:
  verdaccio_data_conf:
    external: true
  verdaccio_data_storage:
    external: true

With this approach Verdaccio is not even loading, the config.yaml is not found.

I have checked all env variables and the config.yaml is correct, I am looking for another aproach that can solve this issue when using docker compose.

Thanks a lot!

jmuhire
  • 2,091
  • 21
  • 19

1 Answers1

0

The storage in version 4 is in

/verdaccio/storage/data

but in version 3 it's in

/verdaccio/storage

so obviously if you update the configuration it will not load the existing storage content.

Solution: make sure your data is where your config is pointing

Kamèl Romdhani
  • 342
  • 1
  • 9