Skip to content
Chef cookbook that installs and configures Solr 6
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

solr_6 Cookbook

Coverage Status Build Status Cookbook Version

Cookbook to install, configure, and start a Solr server (version 6).

Solr 6 comes prepackaged with its own installation script, this cookbook simply prepares an appropriate environment and executes that install script.


  • solr_6::install - This will install Java (optional), download Solr, configure, install, and start the server.
  • solr_6::deploy - This will download a tarball containing one or more solr cores to the SOLR_HOME directory and restart the server. This is useful for bootstraping Solr when not using Solr Cloud.



  • node['solr']['install_java']
    • Install the Java Virtual Machine
    • Default: true

This recipe will automatically install JDK v1.8 from the community cookbook unless node['solr']['install_java'] is set to false. The java verson can be changed by overriding node['java']['jdk_version']



  • node['solr']['version']
    • Version of Solr to install
    • Default: '6.0.1'
  • node['solr']['url']
    • Remote location of the Solr source files
    • Default: Automatically determined from version specified.
  • node['solr']['dir']
    • Where to install Solr
    • Default: '/opt/solr'
  • node['solr']['user']
    • User that owns the Solr process
    • Default: 'solr'
  • node['solr']['create_user']
    • Create the above user?
    • Default: true
  • node['solr']['group']
    • User Group that owns the Solr process
    • Default: 'solr'
  • node['solr']['create_group']
    • Create the above group?
    • Default: true
  • node['solr']['data_dir']
    • Solr Data Directory
    • Default: '/var/solr'
    • Note: a 'data' folder will be appended which will be the SOLR_HOME location


  • node['solr']['host']
    • Host Name for this Solr instance
    • Default: The FQDN of the machine
  • node['solr']['port']
    • Solr port
    • Default: '8983'
  • node['solr']['timezone']
    • Solr Timezone
    • Default: 'UTC'
Solr Cloud
  • node['solr']['zk_host']
    • Zookeeper Host
    • Default: "" (Disabled)
  • node['solr']['zk_client_timeout']
    • The ZooKeeper client timeout
    • Default: '15000'
  • node['solr']['java_mem']

    • Amount of memory to allocate to Solr
    • Default: '-Xms512m -Xmx512m'
  • node['solr']['gc_tune']

    • Garbage collection settings
    • Defaults to installer provided settings (see attributes/install.rb)
  • node['solr']['gc_log_opts']
    • Logging options string
    • Defaults to verbose settings (see attributes/install.rb)
  • node['solr']['enable_remote_jmx_opts']
    • Activate the JMX RMI connector to allow remote JMX client applications to monitor the JVM hosting Solr; set to "false" to disable that behavior
    • Default: false (recommended in production environments)
  • node['solr']['rmi_port']
    • Specifies the port for the RMI connector
    • Default '18983'
    • Note: If node['solr']['enable_remote_jmx_opts'] is "false" then this line will be commented out
  • node['solr']['solr_authentication_client_configurer']
    • Solr authentication client configurer
    • Default: "" (Disabled)
  • node['solr']['solr_authentication_opts']
    • Solr authentication options
    • Default: "" (Disabled)
  • node['solr']['solr_ssl_key_store']
    • Default: "" (Disabled)
  • node['solr']['solr_ssl_key_store_password']
    • Default: "" (Disabled)
  • node['solr']['solr_ssl_trust_store']
    • Default: "" (Disabled)
  • node['solr']['solr_ssl_trust_store_password']
    • Default: "" (Disabled)
  • node['solr']['solr_ssl_need_client_auth']
    • Default: "" (Disabled)
  • node['solr']['solr_ssl_want_client_auth']
    • Default: "" (Disabled)
  • node['solr']['solr_ssl_client_key_store']
    • Default: "" (Disabled)
  • node['solr']['solr_ssl_client_key_store_password']
    • Default: "" (Disabled)
  • node['solr']['solr_ssl_client_trust_store']
    • Default: "" (Disabled)
  • node['solr']['solr_ssl_client_trust_store_password']
    • Default: "" (Disabled)


  • node['solr']['deploy_url']
    • URL from which a tarball can be downloaded containing Solr core(s)
    • Default: nil

If the solr_6::deploy recipe is invoked, but the node['solr']['deploy_url'] is not set the recipe will raise an exception.

Currently only publicly available urls can be downloaded. Providing more options could be added down the road (see Contributing).

One or more Solr core directories can be stored at the root of the archive. The provided url will be downloaded and extracted directly into the SOLR_HOME directory. Solr 6 provides core autodiscovery so cores should be available immediately after the service restarts.


  • Ubuntu
  • CentOS
  • Red Hat
  • Amazon
  • Fedora

Java 8 is not currently installable on Debian with the Java community Chef recipe. Debian could be supported if Java 8 is installed manually.


1.0.0 -> 1.0.1

  • Solr core files extracted with the deploy recipe now belong to the specified user. Previously the permissions were incorrect as all the files belonged to root.

0.2.0 -> 1.0.0

  • Breaking Change: Node boolean values were incorrectly being set and read as strings. Now all boolean node values are boolean types.
  • Two new attributes are available node['solr']['create_user'] and node['solr']['create_group']. If set to true the user and group specified for solr will be created by the install recipe. This allows the creation of users to be disabled if upstream processes need to create the users and/or groups. The default value is true.
  • The default version of Solr installed was changed to '6.0.1'


v2.0 -- allow configuration of multiple instances through Chef Custom Resources


Please see CONTRIBUTING for details.

Copyright & License

Authors:: Nate Flood for ECHO Inc. < >

License: MIT

You can’t perform that action at this time.