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

RSS

noosfero (48) Versions 1.1.2

Install/configure Noosfero social-economic network

Policyfile
Berkshelf
Knife
cookbook 'noosfero', '= 1.1.2', :supermarket
cookbook 'noosfero', '= 1.1.2'
knife supermarket install noosfero
knife supermarket download noosfero
README
Dependencies
Quality -%

noosfero Cookbook

Install/configure Noosfero social-economic network (see http://noosfero.org)

Attributes

noosfero::default

The default recipe runs others recipes according to the settings

Attribute Description Default
<tt>node[:noosfero][:service_name]</tt> The Noosfero's service name, which define the init.d script name and paths <tt>"noosfero"</tt>
<tt>node[:noosfero][:rails_env]</tt> The Rails environment to be used <tt>"production"</tt>
<tt>node[:noosfero][:rvm_load]</tt> The ruby string to be load (e.g. "ree@noosfero") <tt>"system"</tt>

noosfero::install

Attribute Description Default
<tt>node[:noosfero][:install_from]</tt> What is used to install noosfero: "git" (default) to fetch code from git and "package" to install noosfero from debian repository <tt>"git"</tt>

noosfero::git_install (on install_from == "git")

Attribute Description Default
<tt>node[:noosfero][:user]</tt> The user to create and to run noosfero <tt>default[:noosfero][:service_name]</tt>
<tt>node[:noosfero][:group]</tt> The group to create and to run noosfero tt>default[:noosfero][:service_name]</tt>
<tt>node[:noosfero][:git_url]</tt> The git repo containing Noosfero to be used tt>https://gitlab.com/noosfero/noosfero.git</tt>
<tt>node[:noosfero][:git_revision]</tt> The branch, tag or commit to be used <tt>"stable"</tt>
<tt>node[:noosfero][:upgrade_script]</tt> A script to be run on git sync <tt>''</tt>
Paths
<tt>node[:noosfero][:path]</tt> Set the path to clone the git repo to be the base path for code, log, tmp and others noosfero directories <tt>nil</tt> (use default system dirs, see below)
<tt>node[:noosfero][:code_path]</tt> Overwrite the code's path <tt>node[:noosfero][:path]</tt> (with node[:noosfero][:path]) or <tt>"/usr/share/#{service_name}"</tt> (without node[:noosfero][:path])
<tt>node[:noosfero][:data_path]</tt> Overwrite the data path <tt>node[:noosfero][:path]</tt> (with node[:noosfero][:path]) or <tt>"/var/lib/#{service_name}"</tt> (without node[:noosfero][:path])
<tt>node[:noosfero][:config_path]</tt> Overwrite the config path <tt>"#{node[:noosfero][:path]}/config"</tt> (with node[:noosfero][:path]) or <tt>"/etc/#{service_name}"</tt> (without node[:noosfero][:path])
<tt>node[:noosfero][:log_path]</tt> Overwrite the log path <tt>"#{node[:noosfero][:path]}/log"</tt> (with node[:noosfero][:path]) or <tt>"/var/log/#{service_name}"</tt> (without node[:noosfero][:path])
<tt>node[:noosfero][:run_path]</tt> Overwrite the run path <tt>"#{node[:noosfero][:path]}/run"</tt> (with node[:noosfero][:path]) or <tt>"/var/run/#{service_name}"</tt> (without node[:noosfero][:path])
<tt>node[:noosfero][:tmp_path]</tt> Overwrite the tmp path <tt>"#{node[:noosfero][:path]}/tmp"</tt> (with node[:noosfero][:path]) or <tt>"/var/tmp/#{service_name}"</tt> (without node[:noosfero][:path])

noosfero::package_install (on install_from == "package")

Install noosfero using the Colivre's apt repository

Attribute Description Default

noosfero::dependencies (on install_from == "git")

Attribute Description Default
<tt>node[:noosfero][:dependencies_with]</tt> How to install dependencies: "quick_start", "bundler" or "packages" <tt>"quick_start"</tt>

noosfero::database (on install_from == "git")

Generate Rails' database.yml

Attribute Description Default
<tt>node[:noosfero][:db][:name]</tt> Database name <tt>node[:noosfero][:service_name]</tt>
<tt>node[:noosfero][:db][:hostname]</tt> Database port <tt>""</tt>
<tt>node[:noosfero][:db][:port]</tt> Database port <tt>""</tt>
<tt>node[:noosfero][:db][:username]</tt> Database username <tt>node[:noosfero][:user]</tt>
<tt>node[:noosfero][:db][:password]</tt> Database password <tt>""</tt>

noosfero::environment (on install_from == "git")

Create, if there isn't any default yet, a default Noosfero Environment

Attribute Description Default
<tt>node[:noosfero][:environment]</tt> A hash with the config. If nil, skip environment check and creation <tt>nil</tt>
<tt>node[:noosfero][:environment][:name]</tt> The name of the environment. This is used in all pages' &lttitle&gt <tt>-</tt>
<tt>node[:noosfero][:environment][:domain]</tt> The name of the environment. This is used in all pages' &lttitle&gt <tt>-</tt>

Usage

noosfero::default

Just include noosfero in your node's run_list, the below configuration is an example:

{
  "rvm": {
    "user_installs": [
      {
        "user": "noosfero",
        "rubies": [ "ree" ],
        "default_ruby": "ree",
        "gems": {
          "ree@noosfero": []
        }
      }
    ]
  },

  "postgresql": {
    "version": "9.3",
    "password": {
      // needed for chef-solo
      "postgres": "iqHDDo1o"
    },
  },

  "memcached": {
    "memory": 128,
    "listen": "127.0.0.1"
  },

  "varnish": {
    "version": "2.1",
    "listen_address": "0.0.0.0",
    "listen_port": 80,
    "storage": "file",
    "storage_size": "1G",
    "vcl_cookbook": "noosfero"
  },

  "nginx": {
    "listen_ports": [81],
    "keepalive_timeout": 20,
    "default_site_enabled": false
  },

  "apache": {
    "version": "2.4",
    "listen_addresses": ["127.0.0.1"],
    "listen_ports": [82],
    "keepalivetimeout": 20,
    "keepaliverequests": 1000
  },

  "noosfero": {
    "service_name": "noosfero",
    "path": "/home/braulio/escambo.org.br",
    "user": "braulio",
    "group": "braulio",

    "git_url": "https://github.com/ESCAMBO/noosfero-ecosol.git",
    "git_revision": "master",

    "dependencies_with": "bundler",
    "rvm_load": "ree@noosfero",

    "server_name": "escambo.org.br",
    "custom_domains": [
      "escambo.org"
    ],

    "server": {
      "proxy": "nginx",
      "backend": "unicorn",
      "workers": 1
    },
    "cache": {
      "server": "varnish"
    },

    "db": {
      "name": "noosfero_escambo.org.br_production",
      "port": 5433
    },

    "environment": {
      "name": "ESCAMBO",
      "domain": "escambo.org.br"
    },
    "plugins": ["cms_learning", "currency", "escambo", "evaluation", "exchange", "sniffer", "solr"],

    "settings": {
      "exception_recipients": ["alantygel@gmail.com", "brauliobo@gmail.com"]
    },

    "plugin_settings": {
      "solr": {
        "port": 8983,
        "memory": 128
      }

    }
  }
  "run_list": [
    "recipe[noosfero]"
  ]
}

TODO

  • Support others besides RVM (rbenv), by replacing rvm_shell with a generic noosfero_shell

Contributing

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

After 3 consistent patches you become a commiter :)

Dependent cookbooks

rvm >= 0.0.0
java >= 0.0.0
postfix >= 0.0.0
database >= 0.0.0
postgresql >= 0.0.0
nginx >= 0.0.0
apache2 >= 0.0.0
varnish >= 0.0.0
memcached >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

No quality metric results found