GithubHelp home page GithubHelp logo

seanmcilroy29 / etherpad-lite-heroku Goto Github PK

View Code? Open in Web Editor NEW

This project forked from citizenos/etherpad-lite-heroku

0.0 0.0 0.0 14.67 MB

License: GNU Affero General Public License v3.0

Shell 4.10% JavaScript 63.55% Makefile 10.70% Batchfile 0.65% Dockerfile 20.99%

etherpad-lite-heroku's Introduction

Etherpad-Lite Heroku

Deploy Etherpad-Lite on Heroku. Whole Etherpad-Lite configuration, including plugins, can be specified in Heroku configuration variables (ENV).

Running

Cloning

As the project has Etherpad as submodule, you need to clone it with --recursive flag:

git clone --recursive https://github.com/citizenos/etherpad-lite-heroku.git

Configuration

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.

Etherpad-Lite configuration variables

In Heroku config variables (ENV):

  • ETHERPAD_SETTINGS - JSON string of the whole standard Etherpad-Lite settings.json.
  • ETHERPAD_SESSION_KEY - The secret stored in Etherpad-Lite SESSIONKEY.txt.
  • ETHERPAD_API_KEY - The secret stored in Etherpad-Lite APIKEY.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-Lite APIKEY.txt.
  • ___sessionKey - The secret stored in Etherpad-Lite SESSIONKEY.txt.
  • ___version - Per plugin configuration. Version of plugin to be installed by NPM.

Plugin configuration

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 specific conf

  • ETHERPAD_LITE_HEROKU_LOGGER_LEVEL - Logging level for the start.js script.

Run

Heroku

Push it to your Heroku and Heroku will just run it picking up the entry point from Procfile

Locally

  • npm run start-dev

NOTE: When running locally with Citizen OS API, you may run into issues with certificate chain validation because of the API calls. In that case for DEV ONLY you can turn off the validation starting the app NODE_TLS_REJECT_UNAUTHORIZED=0 npm run start-dev. NOTE2: DO NOT commit the generated package.json. If generated plugin configuration is in the package.json /config/ has no effect.

Credits

etherpad-lite-heroku's People

Contributors

johnmclear avatar pita avatar marcelklehr avatar muxator avatar cweider avatar gared avatar translatewiki avatar fourplusone avatar seballot avatar tiblu avatar siebrand avatar webzwo0i avatar lpagliari avatar ilmartyrk avatar luto avatar raybellis avatar nikerabbit avatar joker-x avatar jhollinger avatar wikinaut avatar hanspinckaers avatar ldidry avatar tjwelde avatar disy-mk avatar marktraceur avatar devoidfury avatar stephan48 avatar gedion avatar simong avatar anttiviljami avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.