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


lxc-web-panel (2) Versions 0.3.3

Installs/Configures LXC Web Panel

cookbook 'lxc-web-panel', '= 0.3.3'
cookbook 'lxc-web-panel', '= 0.3.3', :supermarket
knife cookbook site install lxc-web-panel
knife cookbook site download lxc-web-panel

lxc-web-panel Cookbook

This cookbook installs and configures LXC Web Panel application. It also installs and conigures Nginx in order to add HTTPS service layer to this application.



Tested on 11.12.8 but newer and older version should work just fine.


The following platforms have been tested with this cookbook, meaning that the recipes run on these platforms without error: - Ubuntu - Debian


  • nginx - Used to install Nginx if you need to configure HTTPS service layer.
  • chef-vault - This cookbook is used to install chef-vault and permit to the cookbook use vaults instead databags.
  • apt - It is used to configures some repositories in order to install the necesaries packages in the Ubuntu Presice distribution.



<table> <tr> <th>Key</th> <th>Type</th> <th>Description</th> <th>Default</th> </tr> <tr> <td><tt>['lwp']['package']['name']</tt></td> <td>String</td> <td>Package name</td> <td><tt>lwp</tt></td> </tr> <tr> <td><tt>['lwp']['package']['version']</tt></td> <td>String</td> <td>Package version</td> <td><tt></tt></td> </tr> <tr> <td><tt>['lwp']['package']['options']</tt></td> <td>String</td> <td>Package install options</td> <td><tt></tt></td> </tr> <tr> <td><tt>['lwp']['dir']['conf']</tt></td> <td>String</td> <td>Path of the directory where are the configuration files</td> <td><tt>/etc/lwp</tt></td> </tr> <tr> <td><tt>['lwp']['ssl']['enabled']</tt></td> <td>boolean</td> <td>Enable or disable SSL protocol</td> <td><tt>false</tt></td> </tr> <tr> <td><tt>['lwp']['ssl']['log']['access']</tt></td> <td>String</td> <td>Nginx access log file</td> <td><tt>/var/log/nginx/lwp_ssl_access.log</tt></td> </tr> <tr> <td><tt>['lwp']['log']['error']</tt></td> <td>String</td> <td>Nginx error log file</td> <td><tt>/var/log/nginx/lwp_ssl_error.log</tt></td> </tr> <tr> <td><tt>['lwp']['nginx']['proxy_read_timeout']</tt></td> <td>Numeric</td> <td>Nginx proxy read timeout value</td> <td><tt>300</tt></td> </tr> <tr> <td><tt>['lwp']['cert']['databag']['name']</tt></td> <td>String</td> <td>Databag name where is located the certificate data. It could be the vault name if you are using chef-vault in order to store your sensible data.</td> <td><tt>lwp</tt></td> </tr> <tr> <td><tt>['lwp']'cert']['databag']['item']</tt></td> <td>String</td> <td>Databag item that contains the certificate data. It could be the vault item if you are using chef-vault in order to store your sensible data.</td> <td><tt>cert</tt></td> </tr> <tr> <td><tt>['lwp']['cert']['databag']['encrypted_file']</tt></td> <td>String</td> <td>The path of the encrypted file if you are using encrypted databags</td> <td><tt>/etc/chef/encrypted_file</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['global']['address']</tt></td> <td>String</td> <td>Listen IP</td> <td><tt></tt></td> </tr> <tr> <td><tt>['lwp']['conf']['global']['port']</tt></td> <td>String</td> <td>Listen port</td> <td><tt>5000</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['global']['debug']</tt></td> <td>boolean</td> <td>Enable log debug</td> <td><tt>false</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['global']['secret_key']</tt></td> <td>String</td> <td>Secret key</td> <td><tt>70c0af95a33e54292ecb095664b0fb975eb8c641</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['global']['auth']</tt></td> <td>String</td> <td>Auth method. The posible values are: database, ldap or pam</td> <td><tt>database</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['global']['buckets']</tt></td> <td>boolean</td> <td>Enable buckets feature</td> <td><tt>false</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['database']['file']</tt></td> <td>String</td> <td>Database file path</td> <td><tt>/var/lwp/lwp.db</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['htpasswd']['file']</tt></td> <td>String</td> <td>Htpasswd file path</td> <td><tt>/var/lwp/htpasswd</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['session']['time']</tt></td> <td>String</td> <td>Session time</td> <td><tt>10</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['overview']['partition']</tt></td> <td>String</td> <td>Overview partition path</td> <td><tt>/</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['storage_repository']['local']</tt></td> <td>String</td> <td>Local storahe repository path</td> <td><tt>/var/lxc-backup</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['storage_repository']['nfs'] = "/mnt/lxc-backup"</tt></td> <td>String</td> <td>NFS storage repository path</td> <td><tt>/mnt/lxc-backup</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['ldap']['host']</tt></td> <td>String</td> <td>LDAP server host or ip</td> <td><tt></tt></td> </tr> <tr> <td><tt>['lwp']['conf']['ldap']['port']</tt></td> <td>String</td> <td>LDAP server port</td> <td><tt>389</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['ldap']['ssl']</tt></td> <td>String</td> <td>Enable LDAP SSL protocol</td> <td><tt>false</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['ldap']['base']</tt></td> <td>String</td> <td>LDAP base</td> <td><tt>dc=example,dc=com</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['ldap']['bind_method']</tt></td> <td>String</td> <td>LDAP bind method. It could be: anon or user</td> <td><tt>anon</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['ldap']['bind_dn']</tt></td> <td>String</td> <td>LDAP bind dn</td> <td><tt>ou=people,dc=example,dc=com</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['ldap']['password']</tt></td> <td>String</td> <td>LDAP password of the user used to log in in the LDAP server</td> <td><tt>auth_user_password</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['ldap']['id_mapping']</tt></td> <td>String</td> <td>LDAP field used to identify the user</td> <td><tt>uid</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['ldap']['display_mapping']</tt></td> <td>String</td> <td>LDAP field used to identify the real name of the user</td> <td><tt></tt></td> </tr> <tr> <td><tt>['lwp']['conf']['ldap']['object_class']</tt></td> <td>String</td> <td>LDAP objectclass to filter the users objects</td> <td><tt>posixAccount</tt></td> </tr> <tr> <td><tt>['lwp']['conf']['ldap']['required_group']</tt></td> <td>String</td> <td>Group of the users that could authenticate in the application</td> <td><tt></tt></td> </tr> <tr> <td><tt>['lwp']['buckets']['buckets_host'] </tt></td> <td>String</td> <td>Buckets server host or IP</td> <td><tt></tt></td> </tr> <tr> <td><tt>['lwp']['conf']['buckets']['buckets_port'] </tt></td> <td>String</td> <td>Buckets server port</td> <td><tt></tt></td> </tr> <tr> <td><tt>['lwp']['conf']['pam']['service']</tt></td> <td>String</td> <td>Pam service</td> <td><tt>login</tt></td> </tr> </table>


Just include lxc-web-panel in your node's run_list:

  "run_list": [


This cookbook installs and configures LXC Web Panel in the node.


This cookbook installs and configures Nginx in order to use LXC Web Panel with HTTPS service layer. In order to use it, add this recipe to the node's run_list:

  "run_list": [


  1. Fork the repository on Github
  2. Write your change
  3. Write tests for your change (if applicable)
  4. Run the tests, ensuring they all pass
  5. Submit a Pull Request using Github

License and Authors

Authors: Claudio César Sánchez Tejeda

Dependent cookbooks

apt >= 0.0.0
nginx >= 0.0.0
chef-vault >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

lxc-web-panel CHANGELOG

This file is used to list changes made in each version of the lxc-web-panel cookbook.


  • [your_name] - Initial release of lxc-web-panel

Check the Markdown Syntax Guide for help with Markdown.

The Github Flavored Markdown page describes the differences between markdown on github and standard markdown.

Foodcritic Metric

0.3.3 failed this metric

FC007: Ensure recipe dependencies are reflected in cookbook metadata: /tmp/cook/c199d566f0e3993473a97d8f/lxc-web-panel/recipes/ssl.rb:20
FC007: Ensure recipe dependencies are reflected in cookbook metadata: /tmp/cook/c199d566f0e3993473a97d8f/lxc-web-panel/recipes/ssl.rb:21