Confluence Cookbook

Cookbook Version (opens in a new tab) Build Status (opens in a new tab) OpenCollective OpenCollective License (opens in a new tab)


Installs/Configures an instance of Atlassian Confluence (opens in a new tab).


This cookbook is maintained by the Sous Chefs. The Sous Chefs are a community of Chef cookbook maintainers working together to maintain important cookbooks. If you’d like to know more please visit (opens in a new tab) or come chat with us on the Chef Community Slack in #sous-chefs (opens in a new tab).



  • 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 (opens in a new tab)) 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.

checksumSHA256 checksum for Confluence installStringauto-detected by library method
home_pathhome directory for Confluence userString/var/atlassian/application-data/confluence
install_pathlocation to install ConfluenceString/opt/atlassian/confluence
install_typeConfluence install type - "installer", "standalone"Stringinstaller
urlURL for Confluence installStringauto-detected by library method
useruser running ConfluenceStringconfluence
versionConfluence version to installString6.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.

hostFQDN or IP of database server ("" automatically installs ['database']['type'] server)String""
nameConfluence database nameStringconfluence
passwordConfluence database user passwordStringchangeit
portConfluence database portFixnum3306 for MySQL, 5432 for PostgreSQL
typeConfluence database type - "mysql", "postgresql", or "hsqldb"Stringmysql
userConfluence database userStringconfluence

Confluence JVM Attributes

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

minimum_memoryJVM minimum memoryString512m
maximum_memoryJVM maximum memoryString768m
maximum_permgenJVM maximum PermGen memoryString256m
java_optsadditional JAVA_OPTS to be passed to Confluence JVM during startupString""
bundled_jreprefer JRE bundled with linux installerBooleantrue

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 (opens in a new tab) 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.

enabledWhether or not to autotune settings.Booleanfalse
typeType of tuning to apply. One of 'mixed', 'dedicated' and 'shared'.Stringmixed
total_memoryTotal system memory to use for autotune calculations.StringOhai value

Confluence Tomcat Attributes

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

portTomcat HTTP portFixnum8090


  • 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.


This project exists thanks to all the people who contribute. (opens in a new tab)


Thank you to all our backers!


Support this project by becoming a sponsor. Your logo will show up here with a link to your website.

Was this helpful?