Deploy Etherpad-Lite on Heroku. Whole Etherpad-Lite configuration, including plugins, can be specified in Heroku configuration variables (ENV).
WARNING! The project installs a fork of Etherpad-Lite as a submodule. The fork contains a fix that is NOT merged to Etherpad-Lite code base, as it will break plugins that do their own logic on HTML export. The pull request - ether/etherpad-lite#3268
Configuration can be specified in 2 ways:
- File (
config/local.json) - designed for development environments where file configuration is simpler to maintain than env variables. See the example local.json - Environment variables - this is where all Heroku configuration variables show up.
NOTE: Environment variables override config/local.json.
In Heroku config variables (ENV):
ETHERPAD_SETTINGS- JSON string of the whole standard Etherpad-Litesettings.json.ETHERPAD_SESSION_KEY- The secret stored in Etherpad-LiteSESSIONKEY.txt.ETHERPAD_API_KEY- The secret stored in Etherpad-LiteAPIKEY.txt.DATABASE_URL- Default database URI environment variable set by Heroku. It overrides all other DB configurations.
JSON defined in ETHERPAD_SETTINGS or config/local.json:
___apiKey- The secret stored in Etherpad-LiteAPIKEY.txt.___sessionKey- The secret stored in Etherpad-LiteSESSIONKEY.txt.___version- Per plugin configuration. Version of plugin to be installed by NPM.
Plugin version and configuration can be specified. Plugins are configured as you would normally do in Etherpad-Lite settings.json, but you can also specify plugin version which will be installed by NPM.
___version- version of the plugin to be installed.
Example plugin config in ETHERPAD_SETTINGS or config/local.json:
"ep_themes_ext": {
"___version": "0.0.4",
"default": [
"https://dev.citizenos.com:3001/static/styles/etherpad.css"
]
}
ETHERPAD_LITE_HEROKU_LOGGER_LEVEL- Logging level for the start.js script.
Push it to your Heroku and Heroku will just run it picking up the entry point from Procfile
npm run start-dev
- This project started as a fork of https://github.com/bright-star/etherpad-lite-heroku and basic concepts are borrowed from there.
- CitizenOS for funding the development