How to install the Etherpad collaborative note-taking platform on Linux
In these wild times, collaboration has become an absolute necessity. Thankfully, there are so many ways to collaborate: Every platform offers the means to work together, whether it’s a desktop, server, mobile or container deployment, you name it and you can collaborate with it. Some of those collaborative tools offer a ton of features, but sometimes you want something simple — just the ability to collaborate on, say, notes.
For such a need, you should turn to a very easy-to-use Etherpad, which is a real-time collaboration platform that can be deployed on just about any operating system
Etherpad features:
- A rich text WYSIWYG minimalist editor
- Dark Mode
- Image support
- Feature expansion via plugins
- Scalability (an infinite number of pads with up to ~20k edits per second, per pad)
Whether you are a small company that needs to collaborate with basic notes or an enterprise business looking for a real-time collaborative note-taking platform, Etherpad might be just the ticket.
I’m going to show you two different ways to deploy Etherpad (Node.js and Docker), so you can use this tool no matter your platform.
SEE: Windows, Linux, and Mac commands everyone needs to know (free PDF) (TechRepublic)
What you’ll need
To deploy Etherpad, you’ll need an operating system that supports either Node.js or Docker. I will walk you through the process of installing both Node.js and Docker on a Ubuntu-based system, so if you use a different operating system, you’ll need to modify the install instructions to suit your needs.
How to install Node.js
The first thing we’ll do is install Node.js. For that, log into your Ubuntu-based machine and issue the command:
sudo apt-get install node.js -y
The installation should go off without a hitch.
How to install Docker
We’re going to install the latest version of Docker CE (Community Edition). From the terminal window, add the official Docker GPG key with:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Now, add the repository:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Install the necessary dependencies with:
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release git -y
Finally, we can install the latest version of the Docker engine:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
Add your to the docker group with the command:
sudo usermod -aG docker $USER
Make the system aware of the change with:
newgrp docker
How to install Etherpad with Node.js
This first method uses Node.js to install and run Etherpad. To install Etherpad with Node.js, first create the etherpad user with:
sudo adduser --system --group --home /opt/etherpad etherpad
Change to the new user with:
sudo -u etherpad bash
Change to the new directory:
cd /opt/etherpad
Clone the source from GitHub with:
git clone --branch master https://github.com/ether/etherpad-lite.git .
Install the necessary dependencies with the command:
./bin/installDeps.sh
Change into the source directory with cd src and then install the SQLite database using npm with the command:
npm install sqlite3
Change into the etherpad directory:
cd /opt/etherpad
Next, we need to make a few configuration changes. Open the config file with:
nano settings.json
First, look for the section:
"dbType": "dirty",
"dbSettings": {
"filename": "var/dirty.db"
},
Change that to:
"dbType": "sqlite",
"dbSettings": {
"filename": "var/sqlite.db"
},
Next, look for the line:
"trustProxy": false,
Change that to:
"trustProxy": true,
Save and close the file.
Exit from the etherpad user and create a systemd file with the command:
sudo nano /etc/systemd/system/etherpad.service
In that file, paste the following:
[Unit]
Description=Etherpad-lite, the collaborative editor.
After=syslog.target network.target
[Service]
Type=simple
User=etherpad
Group=etherpad
WorkingDirectory=/opt/etherpad/etherpad-lite
Environment=NODE_ENV=production
ExecStart=/usr/bin/node /opt/etherpad/etherpad-lite/src/node/server.js
Restart=always
[Install]
WantedBy=multi-user.target
Save and close the file. Reload the systemd daemon with:
sudo systemctl daemon-reload
Finally, start and enable the service with:
sudo sytemctl enable --now etherpad
You can now access the Etherpad web-based interface by pointing a browser to http://SERVER:9001
, where SERVER
is the IP address or domain of the hosting server.
How to deploy Etherpad with Docker
This deployment is significantly easier. Since we already have Docker installed, all you have to do is to first pull the etherpad image with:
docker pull etherpad/etherpad
With the image saved to local storage, deploy the container with:
docker run --detach --publish 9001:9001 etherpad/etherpad
Once the container is running, you can point a browser to http://SERVER:9001
, where SERVER
is the IP address or domain of the hosting server, and you’re ready to start working with Etherpad (Figure A).
Figure A
And that’s all there is to deploying the Etherpad real-time note-taking service. The web UI is incredibly simple to use, so your team won’t have any problem getting up to speed. Enjoy this powerful collaborative tool.
Subscribe to TechRepublic’s How To Make Tech Work on YouTube for all the latest tech advice for business pros from Jack Wallen.
For all the latest Technology News Click Here
For the latest news and updates, follow us on Google News.