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


confluence (44) Versions 2.5.1

Installs/Configures Atlassian Confluence

cookbook 'confluence', '= 2.5.1', :supermarket
cookbook 'confluence', '= 2.5.1'
knife supermarket install confluence
knife supermarket download confluence
Quality 83%

Confluence Cookbook

Cookbook Version
Build Status

Call for maintainer

Please, see this issue


Installs/Configures an instance of Atlassian Confluence.



  • RHEL/CentOS 6, 7
  • Ubuntu 14.04, 16.04



The Atlassian Confluence Linux installer will automatically configure a bundled JRE.

If you prefer Confluence standalone installation, then you have to manage JDK/JRE 8
(Supported Platforms)
on this node. It can be done with java cookbook and appropricate attributes:

node.default['java']['jdk_version'] = "8"
include_recipe 'java'


These attributes are under the node['confluence'] namespace.

Attribute Description Type Default
checksum SHA256 checksum for Confluence install String auto-detected by library method
home_path home directory for Confluence user String /var/atlassian/application-data/confluence
install_path location to install Confluence String /opt/atlassian/confluence
install_type Confluence install type - "installer", "standalone" String installer
url URL for Confluence install String auto-detected by library method
user user running Confluence String confluence
version Confluence version to install String 6.1.2

Notice: If ['confluence']['install_type'] is set to installer, then the installer will try to upgrade your Confluence instance located in ['confluence']['install_path'] (if it exists) to the ['confluence']['version'].

If you want to avoid an unexpected upgrade, just set or override ['confluence']['version'] attribute value to that of your current confluence version.

Confluence Database Attributes

These attributes are under the node['confluence']['database'] namespace.

Attribute Description Type Default
host FQDN or IP of database server ("" automatically installs ['database']['type'] server) String ""
name Confluence database name String confluence
password Confluence database user password String changeit
port Confluence database port Fixnum 3306 for MySQL, 5432 for PostgreSQL
type Confluence database type - "mysql", "postgresql", or "hsqldb" String mysql
user Confluence database user String confluence

Confluence JVM Attributes

These attributes are under the node['confluence']['jvm'] namespace.

Attribute Description Type Default
minimum_memory JVM minimum memory String 512m
maximum_memory JVM maximum memory String 768m
maximum_permgen JVM maximum PermGen memory String 256m
java_opts additional JAVA_OPTS to be passed to Confluence JVM during startup String ""
bundled_jre prefer JRE bundled with linux installer Boolean true

Confluence Autotune Attributes

These attributes are under the node['confluence']['autotune'] namespace. Autotune automatically determines appropriate settings for certain
attributes. This feature is inspired by the autotune recipe in the cookbook. This
initial version only supports JVM min and max memory size tuning.

There are several tuning types that can be set:

  • 'mixed' - Confluence and DB run on the same system
  • 'dedicated' - Confluence has the system all to itself
  • 'shared' - Confluence shares the system with the DB and other applications

Total available memory is auto discovered using Ohai but can be overridden by setting your own value in kB.

Attribute Description Type Default
enabled Whether or not to autotune settings. Boolean false
type Type of tuning to apply. One of 'mixed', 'dedicated' and 'shared'. String mixed
total_memory Total system memory to use for autotune calculations. String Ohai value

Confluence Tomcat Attributes

These attributes are under the node['confluence']['tomcat'] namespace.

Attribute Description Type Default
port Tomcat HTTP port Fixnum 8090


  • recipe[confluence] Installs/configures Atlassian Confluence
  • recipe[confluence::apache2] Installs/configures Apache 2 as proxy (ports 80/443)
  • recipe[confluence::database] Installs/configures MySQL/Postgres server, database, and user for Confluence
  • recipe[confluence::linux_installer] Installs/configures Confluence via Linux installer"
  • recipe[confluence::linux_standalone] Installs/configures Confluence via Linux standalone archive"
  • recipe[confluence::tomcat_configuration] Configures Confluence's built-in Tomcat
  • recipe[confluence::crowd_sso] Configures user authentication with Crowd single sign-on


Confluence Data Bag

For security purposes it is recommended to use data bag for storing secrets
like passwords and database credentials.

You can override any attributes from the ['confluence'] namespace using the
confluence/confluence data bag. It could be either encrypted or not
encrypted by your choice.

"id": "confluence",
"confluence": {
"database": {
"type": "postgresql",
"name": "confluence_db",
"user": "confluence_user",
"password": "confluence_db_password"

(Note - "confluence" nesting level is required!)

These credentials will be used for your Confluence installation instead of
appropriate attribute values.

Data bag's and item's names are optional and can be changed by overriding
attributes ['confluence']['data_bag_name'] and ['confluence']['data_bag_item']

Confluence Server Installation

The simplest method is via the default recipe, which uses node['confluence']['install_type'] to determine best method.

  • Optionally (un)encrypted data bag or set attributes
    • knife data bag create confluence
    • knife data bag edit confluence confluence --secret-file=path/to/secret
  • Add recipe[confluence] to your node's run list.

Custom Confluence Configurations

Using individual recipes, you can use this cookbook to configure Confluence to fit your environment.

  • Optionally (un)encrypted data bag or set attributes
    • knife data bag create confluence
    • knife data bag edit confluence confluence --secret-file=path/to/secret
  • Add individual recipes to your node's run list.


Development of this cookbook has been generously supported in part by
the code contributions of the following organizations:

License and Author

  • Author:: Mikhail Zholobov (, @legal90)
  • Author:: Azat Khadiev (, @anuriq)
  • Author:: Brian Flad (, @bflad)
  • Author:: Denny Schäfer (, @tuxinaut)
  • Copyright:: 2013, Brian Flad
  • Copyright:: 2013, University of Pennsylvania
  • Copyright:: 2013, Denny Schäfer
  • Copyright:: 2016-2017, Parallels International GmbH

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.

Dependent cookbooks

apache2 < 6.0.0
ark >= 0.0.0
database >= 0.0.0
java >= 0.0.0
mysql < 8.0.0
mysql_connector >= 0.0.0
mysql2_chef_gem < 2.0.0
postgresql >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

Confluence Cookbook Changelog

2.5.0 (March 10, 2019)

- Added version pin for Apache2

2.5.0 (October 24, 2018)

- Added hash values to support for Confluence version 6.8.2.

2.5.0 (May 10, 2018)

  • Changed cookbook ownership to Sous Chefs Community. Hopefully cookbook will come back to life.

2.4.3 (July 12, 2017)

- Added hash values and support for Confluence versions 6.2.1, 6.2.2, 6.2.3, 6.3.1.
- Fix by style check suggestions.

2.4.2 (May 31, 2017)

- Added hash values and support for Confluence versions 6.1.3, 6.1.4 and 6.2.0.

2.4.1 (April 26, 2017)

- Added hash values and support for Confluence v6.1.2

2.4.0 (April 6, 2017)

- Added hash values and support for Confluence v6.0.5 and v6.1.1
- Added restriction to avoid testing with Chef Client v13 for now

2.3.0 (February 23, 2017)

- Added autotune feature for configuring jvm settings. see for details. [GH-140]
- Add temporary workaround for CONF-35722. [GH-148]

2.2.0 (December 28, 2016)

- Added support of Confluence 5.10.4, 5.10.5, 5.10.6, 5.10.7, 5.10.8, 6.0.1,
- Added support of "hsqldb" database type
- Don't redirect /server-status for monitoring systems

- Add a matching quote to JAVA_OPTS variable.
- Fix initial service start after installing Confluence with .bin installer
on systemd-driven systems.

2.1.1 (August 5, 2016)

- Added support of Confluence 5.10.2, 5.10.3.

2.1.0 (July 13, 2016)


  • Dropped support of Confluence < 5.5, since they've reached their EOL date. [GH-106]
  • Attribute ['confluence']['jvm']['maximum_permgen'] was removed, because it is not needed for Java 8. [GH-114]


  • Added attribute ['confluence']['jvm']['bundled_jre'] allowing to manage custom JRE by java cookbook regardless of install_type. [GH-111]
  • Added support of Confluence 5.9.9, 5.9.10, 5.10.1. [GH-107] [GH-115]
  • Changed mysql cookbook constraint to work with newer version of mysql2_chef_gem cookbook. [GH-109]
  • Removes non-dynamic template for web.xml config. [GH-116]


  • postgres: Set "utf-8" encoding, "C" collation and "template0". [GH-108]
  • Fixed attributes for Apache listen ports. [GH-103] [GH-105]
  • Fixed conf directory permissions. [GH-99]

2.0.0 (February 20, 2016)


  • Changed data bag layout [GH-74]
  • Cookbook dependency mysql is constraint to version 6 and higher [GH-50]
  • linux_installer: Use Java (JRE) bundled with Confluence installer [GH-32]


  • Added support for newer Confluence versions up to 5.9.5 [GH-24] [GH-57] [GH-79] [GH-87] [GH-94]
  • Added support for Crowd SSO [GH-26] [GH-72] [GH-75]
  • Added support for systemd [GH-45]
  • library: Added helper methods for database connection [GH-61]
  • library: Added helper methods for Apache virtual host name and alias [GH-81]
  • apache: Redirect HTTP to HTTPS [GH-73]
  • apache: Added support for Apache 2.4 [GH-37]
  • tomcat: Disable HTTPS on the Tomcat side [GH-68]
  • postgresql: Set database owner to confluence user [GH-54]
  • Allow to override apache webapp template in a wrapper cookbook [GH-91]
  • linux_standalone: Use ark resource to download and unpack Confluence .tar.gz artifact [GH-40]
  • linux_installer: Update Confluence automatically using the installer [GH-33] [GH-49]
  • Removed unused template for confluence.cfg.xml [GH-41]
  • Removed unsupported and non-implemented installer types [GH-27]


  • Fixed issues of derived attributes [GH-30] [GH-31] [GH-62] [GH-64]
  • linux_standalone: Fixed permissions on Confluence installation directory [GH-71]
  • linux_installer: Fixed issue of upgrade to the newer Confluence version [GH-33] [GH-49]
  • library: Fix merging settings hashes from attribute and data bag. [GH-23]
  • mysql: Fixed install path of MySQL JDBC connector [GH-52]
  • mysql: Fixed "RecipeNotFound" caused by invalid cookbook dependencies [GH-19]
  • Fixed apache default settings for ServerName and ServerAlias directives [GH-47] [GH-89]

1.7.1 (January 2, 2014)


  • Fixed chef-solo run failure with java_ark resource notification [GH-2]

1.7.0 (October 5, 2013)

  • Bump default version of Confluence to 5.3

1.6.0 (August 21, 2013)

  • Bump default version of Confluence to 5.2.3

1.5.0 (August 8, 2013)

  • Bump default version of Confluence to 5.1.5

1.4.0 (July 24, 2013)

  • Bump default version of Confluence to 5.1.4

1.3.0 (May 16, 2013)

  • Bump default version of Confluence to 5.1.3

1.2.1 (April 16, 2013)

  • Fix Apache log file names

1.2.0 (March 29, 2013)

  • Bump default version of Confluence to 5.1.0
  • Update Vagrant box URLs to Chef 11.2.0 since its tested and works

1.1.0 (February 28, 2013)

  • Bump default version of Confluence to 5.0.1

1.0.0 (February 16, 2013)

  • Production ready with Linux installer/standalone installs
  • Split out individual recipes for installation and configuration
  • Default recipe now includes Apache 2 proxy
  • Built-in checksum handling
  • Moved apache2 attributes into default attributes


  • Initial beta release

Collaborator Number Metric

2.5.1 passed this metric

Contributing File Metric

2.5.1 passed this metric

Foodcritic Metric

2.5.1 failed this metric

FC009: Resource attribute not recognised: confluence/recipes/linux_standalone.rb:28
Run with Foodcritic Version 14.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric

2.5.1 passed this metric

Testing File Metric

2.5.1 passed this metric

Version Tag Metric

2.5.1 passed this metric