Chocolatey Simple Server
Table of Contents
- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with chocolatey
- Usage - Configuration options and additional functionality
- Reference
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Overview
Sets up a Simple Server for Chocolatey packages. Allows you to host your own packages, many times as a private package repository (feed).
Module Description
There are three types of package feeds for Chocolatey - local folder/CIFS (UNC) share, simple server, and the sophisticated package gallery. Simple server is in the middle and most widely used Chocolatey/NuGet Package Server format.
Advantages:
- Push over HTTP/HTTPS.
- API key for pushing packages.
- No direct access to packages - acls are locked down to just admins and push through api key.
- Package store is file system.
Disadvantages:
- Only one API key, so no multi user scenarios.
- Starts to affect choco performance once the source has over 500 packages (maybe?).
- No moderation.
- No website to view packages.
- No package statistics.
For more details about the other types of package feeds, see host your own feed.
Setup
What Chocolatey Server affects
- Will create files at c:\tools\chocolatey.server.
- Will install IIS and ASP.NET if not already installed.
- Will remove the default website.
- Sets up a website on port 80 (configurable) pointing to chocolatey.server
Setup Requirements
Chocolatey installed
Beginning with Chocolatey Server
Install this module via any of these approaches:
- puppet forge
- git-submodule (tutorial)
- librarian-puppet
- r10k
Usage
Ensure the server is installed and configured:
include chocolatey_server
Use a different port
class {'chocolatey_server':
port => '8080',
}
chocolatey.server
package
Use an internal source for installing the class {'chocolatey_server':
server_package_source => 'http://someinternal/nuget/odatafeed',
}
chocolatey.server
package
Use a local file location for the class {'chocolatey_server':
server_package_source => 'c:/folder/containing/packages',
}
Reference
Classes
Public classes
Class: chocolatey_server
Host your own Chocolatey package repository
Parameters
port
The port for the server website. Defaults to '80'.
server_package_source
The Chocolatey source that contains the chocolatey.server
package.
Defaults to 'https://chocolatey.org/api/v2/'.
Limitations
Works with Windows only.
Development
We like Pull Requests!