installs etherpad-lite
nodejs
- etherpad-lite runs on javascriptpostgresql
- we use postgresnpm
- pg gem needs to be installednginx
- Might not be the optimal way to run it
The following attributes should be set based on your specific deployment, see the
attributes/default.rb
file for default values. All values should be strings unless otherwise specified.
node['etherpad-lite']['title']
- Name your instance!node['etherpad-lite']['favicon_url']
- favicon_url favicon default name, alternatively, set up a fully specified Url to your own faviconnode['etherpad-lite']['ip_address']
- IP address to bindnode['etherpad-lite']['port_number']
- (number) port number to bindnode['etherpad-lite']['ssl_enabled']
- (boolean) make sure to have the minimum and correct file access permissions set so that the Etherpad server can access themnode['etherpad-lite']['ssl_key_path']
- ssl key pathnode['etherpad-lite']['ssl_cert_path']
- ssl cert pathnode['etherpad-lite']['db_type']
- postgres, sqlite or mysqlnode['etherpad-lite']['db_user']
- db usernode['etherpad-lite']['db_host']
- db hostnode['etherpad-lite']['db_password']
- db passwordnode['etherpad-lite']['db_name']
- db namenode['etherpad-lite']['default_text']
- the default text of a padnode['etherpad-lite']['require_session']
- (boolean) Users must have a session to access pads. This effectively allows only group pads to be accessed.node['etherpad-lite']['edit_only']
- (boolean) Users may edit pads but not create new ones. Pad creation is only via the API. This applies both to group pads and regular pads.node['etherpad-lite']['minify']
- if true, all css & js will be minified before sending to the client. This will improve the loading performance massivly, but makes it impossible to debug the javascript/cssnode['etherpad-lite']['max_age']
- How long may clients use served javascript code (in seconds)? Without versioning this may cause problems during deployment. Set to 0 to disable cachingnode['etherpad-lite']['abiword_path']
- This is the path to the Abiword executable. Setting it to null, disables abiword. Abiword is needed to advanced import/export features of padsnode['etherpad-lite']['require_authentication']
- This setting is used if you require authentication of all users. Note: /admin always requires authentication.node['etherpad-lite']['require_authorization']
- Require authorization by a module, or a user with is_admin set, see below.node['etherpad-lite']['admin_enabled']
- Enable the admin interfacenode['etherpad-lite']['admin_password']
- Password for "admin" user.node['etherpad-lite']['log_level']
- The log level we are using, can be: DEBUG, INFO, WARN, ERRORnode['etherpad-lite']['service_user']
- user to run etherpadnode['etherpad-lite']['service_user_gid']
- group to run etherpadnode['etherpad-lite']['service_user_home']
- home dirnode['etherpad-lite']['etherpad_git_repo_url']
= set this to the git repo of your fork of etherpad-lite, or leave as defaultnode['etherpad-lite']['etherpad_api_key']
= sets the API key for the HTTP API (APIKEY.txt), if you leave it blank it will be generated for you by the app on first launchnode['etherpad-lite']['service_name']
= Name of servicenode['etherpad-lite']['logs_dir']
= Path to logs directorynode['etherpad-lite']['domain']
= Domain where it is runningnode['etherpad-lite']['plugins']
= An array of plugins to install. These should be strings of the plugin name, without the ep_ prefix (as seen in the etherpad-lite admin's plugin manager).
Override any defaults and then include the recipe in your run list or cookbook.
e.g.
Just include etherpad-lite
in your node's run_list
:
{
"name":"my_node",
"run_list": [
"recipe[etherpad-lite]"
]
}
- Fork the repository on Github
- Create a named feature branch (like
add_component_x
) - Write your change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request using Github
License: Apache 2.0
Authors:
- OpenWatch FPC
- @computerlyrik original version (https://github.com/computerlyrik/chef-etherpad)
- @reidab