Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status


nssm (14) Versions 5.0.0

Installs/Configures NSSM

cookbook 'nssm', '= 5.0.0', :supermarket
cookbook 'nssm', '= 5.0.0'
knife supermarket install nssm
knife supermarket download nssm
Quality 83%

NSSM Cookbook

Cookbook Version
Build Status

This cookbook installs the Non-Sucking Service Manager (, and exposes resources to install
and remove Windows services.


  • Chef 12.7+


  • Windows


Add recipe[nssm] to run list.

Quick Start

To install a Windows service:

nssm 'service name' do
  program 'C:\Windows\System32\java.exe'
  args '-jar C:/path/to/my-executable.jar'
  action :install

To remove a Windows service:

nssm 'service name' do
  action :remove

Using Parameters

A parameter is a hash key representing the same name as the registry entry which controls the associated functionality.
So, for example, the following sets the Startup directory, I/O redirection, and File rotation for a service:

nssm 'service name' do
  program 'C:\Windows\System32\java.exe'
  args '-jar C:/path/to/my-executable.jar'
    AppDirectory: 'C:/path/to',
    AppStdout: 'C:/path/to/log/service.log',
    AppStderr: 'C:/path/to/log/error.log',
    AppRotateFiles: 1
  action %i[install start]


  • node['nssm']['src'] - This can either be a URI or a local path to nssm zip.
  • node['nssm']['sha256'] - SHA-256 checksum of the file. Chef will not download it if the local file matches the checksum.



  • install - Install a Windows service, and update it accordingly. (Note: it will NOT automatically restart the service, make sure to notify the according service to restart)
  • install_if_missing - Install a Windows service, but do not update it if present (old behaviour)
  • remove - Remove Windows service.
  • start - Start the Windows service.
  • stop - Stop the Windows service.

Attribute Parameters

  • servicename - Name attribute. The name of the Windows service.
  • program - The program to be run as a service.
  • args - String of arguments for the program. Optional
  • parameters - Hash of key value pairs where key represents associated registry entry. Optional
  • start - Start service after installing. Default - true
  • nssm_binary - Path to nssm binary. Default - node['nssm']['install_location']\nssm.exe

Getting Help


Please refer to CONTRIBUTING.


MIT - see the accompanying LICENSE file for details.

Dependent cookbooks

This cookbook has no specified dependencies.

Contingent cookbooks

consul Applicable Versions
consul-ng Applicable Versions
consul-template Applicable Versions
consul_template Applicable Versions
ghostdriver Applicable Versions
selenium Applicable Versions
selenium_grid Applicable Versions
sync-gateway Applicable Versions


5.0.0 2021-10-28

  • Depends on Chef 15+
  • Remove dependency on Windows cookbook

4.0.1 2018-07-25

  • Remote file is now before notification friendly (fixes #33)
  • Stop using non-documented argument for nssm dump (fixes #34)
  • Fixed a bug where AppExit needs a subparameter on reset

4.0.0 2017-08-02

  • Convert default recipe to custom resource with idempotence
  • Allow install of nssm to be optional
  • Properly escape parameters in install action (custom quoting should be removed)
  • Make start service idempotent
  • Unstable version of nssm is used to ensure proper idempotency. Without it, the load_current_value would fail to get every setting.

3.0.2 2017-07-13

  • Fix whyrun issues

3.0.1 2017-07-07

  • Chef 12.7 or higher is now required
  • Fix parameters attribute

3.0.0 2017-03-24

  • Rename params attribute to parameters to be Chef 13 compatible

2.0.0 2016-10-03

  • Drop support for Chef 11

1.2.1 2016-04-12

  • Include default recipe in provide only if required

1.2.0 2015-08-09

  • Use new install_location attribute everywhere
  • Don't try to install nssm if it's already there

1.1.0 2015-02-06

  • Add an attribute for the install location of nssm.exe

1.0.0 2014-12-17

  • Remove deprecated matchers
  • Ensure nssm is being installed before service is installed

0.2.0 2014-10-08

  • Chef cache path no longer hard coded
  • Chefspec matchers comply with naming convention

0.1.0 2014-09-21

  • Initial release using nssm v2.24

Collaborator Number Metric

5.0.0 passed this metric

Contributing File Metric

5.0.0 passed this metric

Foodcritic Metric

5.0.0 passed this metric

No Binaries Metric

5.0.0 passed this metric

Testing File Metric

5.0.0 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Version Tag Metric

5.0.0 passed this metric