Our goal is to make collaborative editing the standard on the web
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:
- PHP, thx to TomNomNom
- .Net, thx to ja-jo
- Node.js, thx to tomassedovic
- Ruby, thx to jhollinger
- Python, thx to devjones
There is also a jQuery plugin that helps you to embed Pads into your website
Visit http://beta.etherpad.org to test it live
Here is the FAQ
Etherpad vs Etherpad Lite
|Size of the folder (without git history)||30 MB||1.5 MB|
|RAM Usage immediately after start||257 MB (grows to ~1GB)||16 MB (grows to ~30MB)|
- Download http://etherpad.org/etherpad-lite-win.zip
- Extract the file
- Open the extracted folder and double click
- Open your web browser and browse to http://localhost:9001. You like it? Look at the 'Next Steps' section below
- Install the dependencies. We need gzip, git, curl, libssl develop libraries, python and gcc.
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"
- Install node.js
- Download the latest node.js release (both 0.6 and 0.8 are supported, recommended is stable 0.8.8) from http://nodejs.org
- Extract it with
tar xf node-v0.8.8
- Move into the node folder
cd node-v0.8.8and build node with
./configure && make && make install
As any user (we recommend creating a separate user called etherpad-lite):
- Move to a folder where you want to install Etherpad Lite. Clone the git repository
git clone 'git://github.com/Pita/etherpad-lite.git'
- Change into the directory containing the Etherpad Lite source code clone with
- Start it with
- Open your web browser and visit http://localhost:9001. You like it? Look at the 'Next Steps' section below
You can modify the settings in the file
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. You probably need to do a
npm cache clean jshint before, in case that throws an error message.
Look at this wiki pages:
- How to deploy Etherpad Lite as a service
- How to put Etherpad Lite behind a reverse Proxy
- How to customize your Etherpad Lite installation
- How to use Etherpad-Lite with jQuery
- How to use Etherpad Lite with MySQL
- Sites that run Etherpad Lite
- How to migrate the database from Etherpad to Etherpad Lite
You can find more information in the wiki. Feel free to improve these wiki pages
If you're new to node.js, start with this video http://youtu.be/jo_B4LTHi3I.
You can debug with
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 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.
Modules created for this project
- ueberDB "transforms every database into a object key value store" - manages all database access
- channels "Event channels in node.js" - ensures that ueberDB operations are atomic and in series for each key
- async-stacktrace "Improves node.js stacktraces and makes it easier to handle errors"
- [Etherpad Foundation Flattr] (http://flattr.com/thing/71378/Etherpad-Foundation)
- [Paypal] (http://etherpad.org) <-- Click the donate button