Skip to content

chocolatey-community/puppet-chocolatey_server

Chocolatey Simple Server

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with chocolatey
  4. Usage - Configuration options and additional functionality
  5. Reference
  6. Limitations - OS compatibility, etc.
  7. 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

Beginning with Chocolatey Server

Install this module via any of these approaches:

Usage

Ensure the server is installed and configured:

include chocolatey_server

Use a different port

class {'chocolatey_server':
  port => '8080',
}

Use an internal source for installing the chocolatey.server package

class {'chocolatey_server':
  server_package_source => 'http://someinternal/nuget/odatafeed',
}

Use a local file location for the chocolatey.server package

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!