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


gitlab (20) Versions 0.3.3

Installs/Configures gitlab

cookbook 'gitlab', '= 0.3.3', :supermarket
cookbook 'gitlab', '= 0.3.3'
knife supermarket install gitlab
knife supermarket download gitlab
Quality -%

<a name="title"></a> cookbook-gitlab Build Status


This cookbook will deploy gitlab; a free project and repository management

Code hosted on github here.

This cookbook was developed on RHEL/CentOS 6. Other platforms may need re-worked,
please open an issue or send a pull request to either, atomic-penguin or jackl0phty, on github.


  • Hard disk space

    • About 200 Mb, plus enough space for repositories on /var
  • Ruby 1.9.1 packages

    • Packages used for Debian / Ubuntu only
  • Nginx package

    • All platforms need an nginx package to configure Nginx and Unicorn.

Cookbooks + Acknowledgements

The dependencies in this cookbook add up to over 1,500 lines of code.
This would not have been possible without the great community work of so many others.
Much kudos to everyone who added indirectly to the epicness of this cookbook.

  • ruby_build

    • Thanks to Fletcher Nichol for his awesome ruby_build cookbook. This ruby_build LWRP is used to build Ruby 1.9.2 for gitlab, since Redhat shipped rubies are not compatible with the application.
  • gitolite

    • Big thanks to Ruan David's gitolite as it certainly helped with the development of this cookbook. Unfortunately we had to implement our cookbook in such a way that directly conflicts with the original cookbook.
  • chef_gem

    • Thanks to Chris Roberts for this little gem helper. This cookbook provides a compatible gem resource for Omnibus on Chef versions less than 0.10.8
  • redisio

    • Thanks to Brian Bianco for this Redis cookbook, because I don't know anything about Redis. Thanks to this cookbook I still don't know anything about Redis, and that is the best kind of cookbook. One that just works out of the box.
  • Opscode, Inc cookbooks

Notes about conflicts

  • gitolite cookbook

    • The gitolite recipe within our cookbook was based on David Ruan's cookbook. We couldn't integrate gitolite and gitlab without significant rework on David's original cookbook. Our gitolite recipe will only configure gitolite for use with gitlab. Our gitlab::gitolite recipe will not set up a standalone gitolite installation as David's cookbook does.
  • nginx cookbook

    • Our default recipe templates out the /etc/nginx/conf.d/default.conf. This will directly conflict with another cookbook, such as nginx, trying to manage this file.


  • gitlab['gitolite_url']

    • Github gitolite address
    • Default git://
  • gitlab['git_user'] & gitlab['git_group']

    • Git service account for gitolite
    • Default git
  • gitlab['git_home']

    • Top-level home for gitolite and repositories
    • Default /var/git
  • gitlab['gitolite_home']

    • Application home for gitolite
    • Default /var/git/gitolite
  • gitlab['gitolite_umask']

    • Umask setting for gitolite.rc
    • Defaults to 0007
  • gitlab['user'] & gitlab['group']

    • Gitlab service user and group for Unicorn Rails app
    • Default gitlab
  • gitlab['home']

    • Gitlab top-level home for service account
    • default /var/gitlab
  • gitlab['app_home']

    • Gitlab application home
    • Default /var/gitlab/gitlab
  • gitlab['gitlab_url']

    • Github gitlab address
    • Default git://
  • gitlab['gitlab_branch']

    • Gitlab git branch
    • Default master
  • gitlab['packages']

    • Platform specific OS packages
  • gitlab['trust_local_sshkeys']

    • ssh_config key for gitlab to trust localhost keys automatically
    • Defaults to yes
  • gitlab['install_ruby']

    • Attribute to determine whether vendor packages are installed, or Rubies are built
    • Redhat family defaults 1.9.2; Debian family defaults to package.
  • gitlab['https']

    • Whether https should be used
    • Default false
  • gitlab['ssl_certificate'] & gitlab['ssl_certificate_key']

    • Location of certificate file and key if https is true. A self-signed certificate is generated if certificate is not present.
    • Default /etc/nginx/#{node['fqdn']}.crt and /etc/nginx/#{node['fqdn']}.key
  • gitlab['ssl_req']

    • Request subject used to generate a self-signed SSL certificate


Optionally override application paths using gitlab['git_home'] and gitlab['home'].

Add recipe gitlab::default to run_list. Go grab a lunch, or two, if Ruby has to build.

The default admin credentials for the gitlab application are as follows:

Password: 5iveL!fe

Of course you should change these first thing, once deployed.

License and Author

Author: Gerald L. Hevener Jr., M.S.
Copyright: 2012

Author: Eric G. Wolfe
Copyright: 2012

Gitlolite Author: David Ruan
Copyright: RailsAnt, Inc., 2010

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.

No quality metric results found