How To Setup the Chocolatey.Server Package

NOTE: Refer to How To Set Up Chocolatey For Organizational/Internal Use in tandem with this article.

What is Chocolatey.Server?

The Chocolatey.Server package contains the binaries for a fully ready to go Chocolatey NuGet Server where you can serve packages over HTTP using a NuGet-compatible OData feed.

Chocolatey Server is a simple Nuget.Server that is ready to rock and roll. It has already completed Steps 1–3 of NuGet's host your own remote feed. Version 0.1.2 has the following additional adds:

When you install it, it will install the website typically to c:\tools\chocolatey.server.


Setup with Puppet

If you are using the Puppet module chocolatey/chocolatey_server, it will do all of the additional setup for this package and allow some customization.

The module works with Windows Server 2008/2012.
For a simple include chocolatey_server it does the following automatically:

Setup Normally

Additional Configuration

Looking for where the apikey is and how it is changed, that is all done through the web.config. The config is pretty well-documented on each of the appSettings key values.

To update the apiKey, it is kept in the web.config, search for that value and update it. If you reach out to the server on https://localhost (it will show you what the apikey is, only locally though).


To configure for performance, you will want to do the following:


We are looking to add support for the package source to automatically handle this aspect -

Common Errors and Resolutions

When you are attempting to install the Simple Server, you may run into some errors depending on your configuration. Here are some common ones we've seen that you may get when you browse to the the site.

Error 404 on Push

If you can do everything except push packages, it is likely your application pool is set to Classic mode and can't find directories. It needs to be "Integrated". Please change that to Integrated and then recycle the application pool. That should resolve the issue of pushing packages. Reference:

Error 500

Take a closer look at the error. It may be one of the other errors below.

This can mean a couple of things:

Other error

Turn on customErrors under system.web - - see this guide to set it -

Then browse to the site to see if you can gather any more information.

If so, and you are a commercial edition customer, please open a support ticket. If you are using open source Chocolatey, please open a ticket at