Internet Explorer is no longer supported. Many things will still work, but your experience will be degraded and some things won't function. Please use a modern browser such as Edge, Chrome, or Firefox.

Getting Started with ProGet

view on GitHub

ProGet is a Self-hosted, Cross-Platform Package & Container Repository that keeps all your packages and Docker containers in one place, allowing you to scan for vulnerabilities and control who can access different feeds.

ProGet supports just about all of the third-party package types you'll need (e.g. NuGet, npm, PowerShell, and Chocolatey) and comes in a powerful free version that you can upgrade when ready.

Step 1: Install ProGet

You can install ProGet quickly and easily from InedoHub.

InedoHub

You also have the option of installing it using Docker or onto a Lightsail instance, both of which are just as quick and easy.

Step 2: Create Your First Feed in ProGet

A feed is a private repository for your own applications and components. Feeds are used to store packages, container images, or other assets. Users can easily see what is available for download in a feed.

In this example, we will create a NuGet feed, a package format developed by Microsoft to distribute free and open-source .NET libraries. However, you have the option of creating feeds for other feed types such as npm, python, etc.

We will start by navigating to "Feeds" and selecting "Create New Feed".

Create New Feed

As we will be using packages from Nuget.org, we select "NuGet (.NET) Packages".

Create NuGet Feed

Step 3: Set Up Your Feed

After selecting the feed type, we’ll specify that the feed will connect directly to "NuGet.org", the public repository for open-source NuGet packages.

Connect Nuget

When you familiarize with ProGet you may want to create two feeds, for unapproved and approved packages respectively. However, for the purpose of demonstration, we will create just the one by selecting "No, Create One Feed".

Create One Nuget Feed

We then name our feed. In this case, we will call it public-nuget as it will have public packages from Nuget.org, and then click "Create Feeds".

Name One Nuget Feed

Step 4: Select Feed Features

ProGet will now offer several options to assist you in managing your feed, such as scanning packages for vulnerabilities to help you avoid packages unsafe for production use and license detection which will allow you to block certain licenses.

Option Select"

Finally, we select "Set Feed Features", which will create the feeds and redirect us to our public-nuget feed, populated with packages from "NuGet.org".

Name One Nuget Feed

Step 5 (Optional): Configure HTTPS/SSL

Another recommended step when setting up ProGet for the first time is to configure HTTPS on your server. For those who haven't done it before it may sound daunting, but our page on configuring HTTPS not only explains it clearly but makes it painlessly easy to do so.

HTTPS Security

Note that some clients such as NuGet and Visual Studio may warn about HTTPS primarily to ensure security in web development. These warnings cover issues like SSL/TLS certificates and security recommendations to help developers create secure and compliant web applications.

Step 6: Connect to Tools (e.g. Visual Studio)

Now that you've created a feed, you can use other ProGet features such as license detection or vulnerability scanning.

You can also connect ProGet to Visual Studio as a Package Manager by following the on-screen instructions or reading "HOWTO: Proxy Packages from NuGet.org in Visual Studio or CLI.

Visual Studio