etherpad-lite/README.md

90 lines
4.9 KiB
Markdown

# About
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 what makes it much ligther and more stable than the original Etherpad. Our hope
is that this will encourage more users to install a realtime collaborative editor. A smaller and well
documented codebase makes it easier for developers to improve the code. Etherpad Lite is optimized
to be easy embeddable. Look at our [FAQ Page](https://github.com/Pita/etherpad-lite/wiki/FAQ)
**Online demo**<br>
Visit <http://pitapoison.de:9001> to test it live. You can find the same instance behind a nginx, with ssl and in a subpath here -> [https://pad.pitapoison.de/pad/](https://pad.pitapoison.de/pad/)
# Etherpad vs Etherpad Lite
<table>
<tr>
<td>&nbsp;</td><td><b>Etherpad</b></td><td><b>Etherpad Lite</b></td>
</tr>
<tr>
<td align="right">Size of the folder (without git history)</td><td>30 MB</td><td>1.5 MB</td>
</tr>
<tr>
<td align="right">Languages used server side</td><td>Javascript (Rhino), Java, Scala</td><td>Javascript (node.js)</td>
</tr>
<tr>
<td align="right">Lines of server side Javascript code</td><td>101410</td><td>5330</td>
</tr>
<tr>
<td align="right">RAM Usage immediately after start</td><td>257 MB</td><td>16 MB</td>
</tr>
</table>
# Installation
**As root:**
1. Download the latest **0.4.x** node.js release from <http://nodejs.org/#download>, extract it and build it with `./configure && make && make install`. <br>
The Node.js version of your Linux repository might be too old/new. Please compile from the source to get sure you have the correct version.
2. Install npm `curl http://npmjs.org/install.sh | sh`
3. Ensure you have installed the sqlite develob libraries, gzip and git `apt-get install libsqlite3-dev gzip git-core`
**As any user (we recommend creating a seperate user called etherpad-lite):**
4. Clone the git repository `git clone 'git://github.com/Pita/etherpad-lite.git'`
5. Start it with `bin/run.sh` (the first run will install all dependencies)
6. Open your web browser and visit <http://localhost:9001>
## Troubleshooting
### It fails while installing the sqlite dependency
The sqlite package of some linux versions (including debian lenny) is too old. You have to use a PPA or debian backports
### It fails while installing the express dependency, it says my node version is wrong
You might have installed node.js version 0.5. You can check that with `node --version`. Please reinstall node 0.4.x
### I stopped the installing process, now it doesn't work anymore, what can I do?
Remove the node_modules folder. This forces run.sh to reinstall all dependencies
## Next Steps
You can modify the settings in the file settings.json
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:
* [How to deploy Etherpad Lite as a service](https://github.com/Pita/etherpad-lite/wiki/How-to-deploy-Etherpad-Lite-as-a-service)
* [How to put Etherpad Lite behind a reverse Proxy](https://github.com/Pita/etherpad-lite/wiki/How-to-put-Etherpad-Lite-behind-a-reverse-Proxy)
* [How to customize your Etherpad Lite installation](https://github.com/Pita/etherpad-lite/wiki/How-to-customize-your-Etherpad-Lite-installation)
You can find more information in the [wiki](https://github.com/Pita/etherpad-lite/wiki). Feel free to improve these wiki pages
# Develop
If you're new to git and github, start here <http://learn.github.com/p/intro.html>.
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 wanna find out how Etherpads Easysync works (the library that makes it really realtime), start with this [PDF](https://github.com/Pita/etherpad-lite/raw/master/doc/easysync/easysync-full-description.pdf) (complex, but worth reading it).
You know all this and just want to know how you can help? Look at the [TODO list](https://github.com/Pita/etherpad-lite/wiki/TODO).
You can join the [mailinglist](http://groups.google.com/group/etherpad-lite-dev) or go to the freenode irc channel [#etherpad-lite-dev](http://webchat.freenode.net?channels=#etherpad-lite-dev)
You also help the project, if you only host a Etherpad Lite instance and share your experience with us.
# Modules created for this project
* [ueberDB](https://github.com/Pita/ueberDB) "transforms every database into a object key value store" - manages all database access
* [doc.md](https://github.com/Pita/doc.md) "A simple JSDoc documenation tool that creates markdown for node.js modules exports" - is used to generate the docs
* [channels](https://github.com/Pita/channels) "Event channels in node.js" - ensures that ueberDB operations are atomic and in series for each key
# License
[Apache License v2](http://www.apache.org/licenses/LICENSE-2.0.html)