How to create new blob store to store release artifacts using AWS EBS Volumes - Sonatype Nexus Repository - Sonatype Community

How to create new blob store to store release artifacts using AWS EBS Volumes

post by prathap.chaganti on Jul 28, 2023

Hello everyone. I have configured Nexus PRO version 3.58.0-01 which is running as docker container in EC2 instance. I am having trouble to understand how we can attach new volume to the existing nexus repository to host one of the hosted repository.

I have already attached new volume and mount that as nexus-docker-release folder. And I have configured my docker-compose to use this folder as new volume and deployed but still no luck. I was not able to create new blob store using this new volume.

Here is my docker-compose file:

Previous:

version: "3"

services:
  nexus:
    image: sonatype/nexus3:3.58.0
    restart: always
    volumes:
      - "nexus-data:/nexus-data"
    ports:
      - "8081:8081"

volumes:
  nexus-data: {}

New:

version: "3"

services:
  nexus:
    image: sonatype/nexus3:3.58.0
    restart: always
    volumes:
      - "nexus-data:/nexus-data"
      - "nexus-docker-release:/nexus-docker-release"
    ports:
      - "8081:8081"

volumes:
  nexus-data: {}
  nexus-docker-release: {}

Seeing below error in logs when I tried to create new blob store using newly created volume. Can we link separate volume as blob other than nexus-data?

ubuntu-nexus-1 | 2023-07-28 13:55:32,255+0000 WARN [qtp1987065718-504] admin org.sonatype.nexus.siesta.internal.ValidationErrorsExceptionMapper - (ID 7aa480c0-a05e-4020-af80-7a767c90f772) Response: [400] ‘[ValidationErrorXO{id=’*, message=‘Blob store could not be written to path ‘/nexus-docker-release’ because it was not writable’}]’; mapped from: org.sonatype.nexus.rest.ValidationErrorsException: Blob store could not be written to path ‘/nexus-docker-release’ because it was not writable

I really appreciate if anyone had face same issue. You can ask if you need any more info.

post by mpiggott on Jul 31, 2023

You’d need to make sure that these directories are owned by the nexus user. Possibly if you put them under the data directory then it would inherit permissions though I’m not entirely certain.