Creating your own private NuGet feed: MyGet

myget - NuGet as a serverEver since NuGet came out, I’ve been thinking about leveraging it in a corporate environment. I've seen two NuGet server implementations appear on the Internet: the official NuGet gallery server and Phil Haack’s NuGet.Server package. As these both are good, there’s one thing wrong with them: you can't be lazy! You have to do some stuff you don’t always want to do, namely: configure and deploy.

After discussing some ideas with my colleague Xavier Decoster, we decided it’s time to turn our heads into the cloud: we’re providing you NuGet-as-a-Service (NaaS)! Say hello to MyGet.

MyGet offers you the possibility to create your own, private, filtered NuGet feed for use in the Visual Studio Package Manager.
It can contain packages from the official NuGet feed as well as your private packages, hosted on MyGet. Want a sample? Add this feed to your Visual Studio package manager: http://www.myget.org/F/chucknorris

But wait, there’s more: we’re open sourcing this thing! Feel free to fork over at CodePlex and extend our "product". We've already covered some feature requests we would love to see, and Xavier has posted some more on his blog. In short: feel free to add your own most-wanted features, provide us with bugfixes (pretty sure there will be a lot since we hacked this together in a very short time). We're hosting on WIndows Azure, which means you should get the Windows Azure SDK installed prior to contributing. Unless you feel that you can write code without locally debugging :-)

Chuck Norris Feed

Feel free to go ahead and create your private feed. Some ideas (more at Xavier's site):

  • A feed containing only the packages you or your company often use
  • A feed containing only your (open-source?) project and its dependencies
  • A feed containing just a few packages that you want to use for a certain project: tell your developers to just install them all

Bugs and feature requests? Feel free to post them as a comment below. Once we release the sources, I’ll kick your mailbox with a request to implement the stuff you proposed. Seems fair to me :-)

Enjoy http://myget.org!

This is an imported post. It was imported from my old blog using an automated tool and may contain formatting errors and/or broken images.

Leave a Comment

avatar

9 responses

  1. Avatar for Stif
    Stif May 31st, 2011

    Great initiative guys!

    There&#39s potential here. One quick question here:

    * How private is my private nuget feed?

    It seems I can login by just clicking login. How can my nuget feed become password protected so that only our company (my collegues) can access our packages. Something in lines of what the people at devexpress are providing.

    I think for companies to start using this, you&#39ll need to provide guarantees that private feeds are really private and that the packages in them will never be available to non-authorized persons.

    Thumbs up for this initiative, it enables my to be lazy ;-)

  2. Avatar for maartenba
    maartenba May 31st, 2011

    Currently, it&#39s private "by obscurity", that means if someone knows or finds the URL of your feed, it&#39s public.
    I&#39m not sure if NuGet currently supports an authentication method? What is DevExpress doing on that field? Do they have basic auth or something in place?

    (login on the website works because you were probably logged in through Windows Live already, we just use Windows Live for website logins)

  3. Avatar for Xavier Decoster
    Xavier Decoster May 31st, 2011

    Great comment Stif and that&#39s exactly what I think would be a "killer feature" for MyGet.
    Sounds like you want to vote up this feature on http://myget.codeplex.com/w... ? :-)

    "Private by obscurity" is because we were lazy (read: lacking lots of time), but we hope to get this thing going driven by and for the community.

  4. Avatar for Stif
    Stif May 31st, 2011

    What devexpress is doing you can see in Scott Hanselmans talk about NuGet on Tech-Ed (starting from minute 42:20):
    http://channel9.msdn.com/Ev...

    I actually tought they we&#39re using authentication, but after re-viewing the video it turns out that it&#39s also "by obscurity" with the difference that you can generate new urls based on tokens.

    I&#39m also not sure if it&#39s supported or not but maybe it wouldn&#39t be a bad idea for NuGet to start supporting authentication for feeds.

  5. Avatar for maartenba
    maartenba May 31st, 2011

    NuGet does not support those things at this time. Feel free to upvote this one: http://nuget.codeplex.com/w...

  6. Avatar for Frank van Eykelen
    Frank van Eykelen May 31st, 2011

    Great! Hosting our company&#39s internal Nuget package source on a networked fileserver just didn&#39t feel right.

    I voted +1 for authentication.

  7. Avatar for maartenba
    maartenba June 1st, 2011

    The NuGet work item for authentication has been kicked up :-) http://nuget.codeplex.com/w...
    I expect auth in an upcoming NuGet release, and we&#39ll follow afterwards.

  8. Avatar for putrtek
    putrtek June 7th, 2011

    Ok, so what&#39s the trick to Adding Packages from the official NuGet feed? I&#39ve tried adding &#39elmah&#39, &#39log4net&#39 and &#39MvcScaffolding&#39 All give me the error &#39The package name you entered does not seem to exist...&#39 I&#39m copying and pasting the name directly from my existing packages.config file. What am I doing wrong?

    putrtek
    [email protected]

  9. Avatar for maartenba
    maartenba June 14th, 2011

    There should be an "autocomplete" working, try entering the first few characters of a package name and wait for one second.