Ubuntu Linux

How to Install Etherpad on Ubuntu Linux

Richard
Written by
Richard
Jun 12, 2023 Updated Apr 17, 2026 3 min read

Etherpad is a tool for writing documents with friends or coworkers at the same time. It is open-source and very flexible. Why? You use it to collaborate on projects in real-time. What happens? You get a shared workspace where everyone can edit the same text at once.

Install prerequisites

First, update your system and install necessary helper tools.

🐧Bash / Shell
sudo apt update
sudo apt install gnupg2 git curl unzip libssl-dev pkg-config gcc g++ make build-essential

Install the MariaDB database server

Etherpad needs a database to save your work. MariaDB is a great choice.

🐧Bash / Shell
sudo apt update
sudo apt install mariadb-server
sudo systemctl stop mariadb
sudo systemctl start mariadb
sudo systemctl enable mariadb

Setup Etherpad database

Log in to the database to create a space for Etherpad. Note: Modern MariaDB requires you to use your system root account.

🐧Bash / Shell
sudo mysql -u root
CREATE DATABASE etherdb;
GRANT ALL PRIVILEGES on etherdb.* to etheruser@localhost IDENTIFIED BY 'type_password_here';
FLUSH PRIVILEGES;
exit

Install Node.js

Etherpad runs on Node.js. In 2026, it is best to use NVM (Node Version Manager) or the official NodeSource binary distributions to ensure you are running a supported LTS version.

🐧Bash / Shell
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs

Install Etherpad

Create a dedicated user account for the application to keep things secure.

Command Prompt
sudo useradd --system -d /opt/etherpad --shell=/bin/bash etherpad
sudo install -d -m 755 -o etherpad -g etherpad /opt/etherpad
cd /opt/etherpad
sudo -u etherpad git clone --branch master https://github.com/ether/etherpad-lite.git
cd etherpad-lite
sudo -u etherpad npm install

Next, edit the settings.json file to add your database details and set trustProxy to true.

Create the Service File

Create a service file so Etherpad starts automatically when your server boots.

🐧Bash / Shell
sudo nano /etc/systemd/system/etherpad.service

Paste this template:

💻Code
[Unit]
Description=Etherpad-lite
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 src/node/server.js
Restart=always

[Install]
WantedBy=multi-user.target
🐧Bash / Shell
sudo systemctl daemon-reload
sudo systemctl start etherpad
sudo systemctl enable etherpad

Configure Nginx and SSL

Using Nginx as a reverse proxy makes your site faster and more secure. You should also use Let’s Encrypt to get a free SSL certificate.

🐧Bash / Shell
sudo apt install nginx certbot python3-certbot-nginx

Create your Nginx config file:

🐧Bash / Shell
sudo nano /etc/nginx/sites-available/etherpad.conf

Add your proxy settings:

💻Code
upstream etherpad {
   server localhost:9001;
}

server {
   listen 80;
   server_name etherpad.example.com;

   location / {
       proxy_pass http://etherpad;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
   }
}

Enable the site and get your certificate:

🐧Bash / Shell
sudo ln -s /etc/nginx/sites-available/etherpad.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx
sudo certbot --nginx -d etherpad.example.com

Access Etherpad portal

Open your web browser and go to your domain name. You will see the welcome page.

Terminal command prompt showing the installation process for Etherpad on Ubuntu

Begin using Etherpad

You can now create new pads or open existing ones to start collaborating.

Etherpad interface showing a new shared document ready for real-time collaboration

Reference: https://etherpad.org/

[Unit] [Service] [Install]

Was this guide helpful?

Richard

About the Author

Richard

Tech Writer, IT Professional

Richard, a writer for Geek Rewind, is a tech enthusiast who loves breaking down complex IT topics into simple, easy-to-understand ideas. With years of hands-on experience in system administration and enterprise IT operations, he’s developed a knack for offering practical tips and solutions. Richard aims to make technology more accessible and actionable. He's deeply committed to the Geek Rewind community, always ready to answer questions and engage in discussions.

Leave a Reply

Your email address will not be published. Required fields are marked *

Exit mobile version