Hi, I have two servers and installed two instances of Nexus Repository OSS on each of them.
One of these servers has access to the internet which I created a nuget proxy repository on this one; then I share blob storage folder for second server.
In the second server I create a storage that points to the shared folder. In Nexus GUI at Second Server I can see that it recognized the shared folder, even it shows the size of the downloaded packages (which I have downloaded in first server) but when I want to browse it, it shows nothing. and I don’t know which type of repositories should I select in second instance.
Can anyone help me with this?
a little demonstration of my scenario attached
If this is unclear, just ask to clarify.
Thank you
No this is not supported and will not work.
@shahroozevsky – It sounds like you have 2 servers. One has internet access and the other doesn’t. The internet facing server proxies the official NuGet repository. The non-Internet facing server needs access to the Nuget repo too and you are trying to accomplish this by sharing the storage between servers. Is there any reason you don’t just proxy the internet facing Nexus repo from the non-Internet facing Nexus repo?
The problem is non-internet server cannot access to internet facing server directly; they are on two independent networks but we can share storage on internet facing server to use by non-internet server. Maybe I didn’t understand Proxy Repository correctly. Please light me up on this, on any request sent to Proxy Repository, it scans its cache (or downloaded packages) and if the package not found in cache, it’ll be downloaded from internet. Am I correct? And in the case of positive answer, why can’t we share the storage between two instances?
You can’t share storage due to the database records not existing. What you are trying to do probably requires Import/Export or using a shared Postgres DB. Both of those features are part of Nexus Repository Pro.
@shahroozevsky – At a high-level you are correct. Proxy looks locally and if it doesn’t find what you’ve requested, it queries the proxied repository. The proxied repository could be on the internet or some other reachable network. If your non-Internet server cannot reach the Internet facing server, then a proxy solution will not work for you.
Hi Jeff, Thank you for your time and I have to say that your answers are very descriptive and helpful.
I have another question, in this scenario, is there any other solution besides connecting non-internet server to internet facing repo?
Can we use hosted repo as a workaround in this scenario? Can you tell me how hosted repo works?
Thank you
@shahroozevsky – A hosted repo provides a place for your company to upload and host artifacts your company creates.
For the open source version of Nexus RM, a proxy repository in the non-Internet facing Nexus RM which proxies the Internet facing Nexus RM is the only viable solution. Sounds like @mmartz has other solutions in mind when using Nexus RM Pro.
In the world of workarounds, you could invest your time and money to build your own process to pull artifacts out of the Internet facing repo and transfer them to the non-Internet facing repo. There’s a lot of complexity there to keep things in sync. I don’t recommend a workaround. It makes more sense to use the synchronization process Nexus RM already provides in their proxy repo solution or investigate one of @mmartz solutions and invest your money in Nexus RM Pro instead.