Etherpad lite is a really-real time collaborative editor spawned from the Hell fire of Etherpad. We're reusing the well tested Etherpad easysync library to make it really realtime. Etherpad Lite is based on node.js ergo is much lighter and more stable than the original Etherpad. Our hope is that this will encourage more users to use and install a realtime collaborative editor. A smaller, manageable and well documented codebase makes it easier for developers to improve the code and contribute towards the project.
Etherpad Lite is optimized to be easy embeddable. It provides a HTTP API that allows your web application to manage pads, users and groups. There are several clients in for this API:
There is also a jQuery plugin that helps you to embed Pads into your website
Online demo
Visit http://beta.etherpad.org to test it live
Here is the FAQ
Etherpad | Etherpad Lite | |
Size of the folder (without git history) | 30 MB | 1.5 MB |
Languages used server side | Javascript (Rhino), Java, Scala | Javascript (node.js) |
Lines of server side Javascript code | ~101k | ~9k |
RAM Usage immediately after start | 257 MB (grows to ~1GB) | 16 MB (grows to ~30MB) |
start.bat
As root:
apt-get install gzip git-core curl python libssl-dev pkg-config build-essential
yum install gzip git-core curl python openssl-devel && yum groupinstall "Development Tools"
tar xf node-v0.6*
cd node-v0.6*
and build node with ./configure && make && make install
As any user (we recommend creating a separate user called etherpad-lite):
git clone 'git://github.com/Pita/etherpad-lite.git'
cd etherpad-lite
bin/run.sh
You can modify the settings in the file settings.json
If you have multiple settings files, you may pass one to bin/run.sh
using the -s|--settings
option. This allows you to run multiple Etherpad Lite instances from the same installation.
You should use a dedicated database such as "mysql" if you are planning on using etherpad-lite in a production environment, the "dirty" database driver is only for testing and/or development purposes.
You can update to the latest version with git pull origin
. The next start with bin/run.sh will update the dependencies
Look at this wiki pages:
You can find more information in the wiki. Feel free to improve these wiki pages
If you're new to git and github, start by watching this video then read this git guide.
If you're new to node.js, start with this video http://youtu.be/jo_B4LTHi3I.
You can debug with bin/debugRun.sh
If you want to find out how Etherpads Easysync works (the library that makes it really realtime), start with this PDF (complex, but worth reading).
You know all this and just want to know how you can help? Look at the TODO list. You can join the mailinglist or go to the freenode irc channel #etherpad-lite-dev
You also help the project, if you only host a Etherpad Lite instance and share your experience with us.
Please consider using jshint if you plan to contribute to Etherpad Lite.