What is Etherpad?

Etherpad is a real-time collaborative text editor that allows multiple users to work on the same document simultaneously. It’s open-source, web-based, and widely used for team writing, note-taking, planning, and live collaborative sessions. All changes are reflected in real time, with authors differentiated by color and a built-in chat function for collaboration.

Running Etherpad on Ubuntu 24.04 LTS gives you a modern and stable environment for deploying a self-hosted collaborative editing platform—ideal for teams, schools, events, and organizations that value data control and privacy.


Key Features of Etherpad

  • Real-time editing: Multiple users can edit documents live
  • Color-coded authorship: Easily identify who wrote what
  • Built-in chat: Communicate directly while collaborating
  • Version control: Time slider allows rewinding and replaying edits
  • Plugins system: Extend functionality with hundreds of plugins (e.g., export formats, tables, diagrams)
  • Import/export: Supports PDF, DOC, ODT, HTML, and plain text
  • Pad privacy controls: Password-protect pads or make them read-only
  • Multilingual interface: Available in dozens of languages

Why Use Etherpad on Ubuntu 24.04?

Ubuntu 24.04 offers several advantages for running Etherpad:

  • Long-Term Support (LTS) through 2029 ensures long-lasting stability
  • Updated versions of Node.js, PostgreSQL, MariaDB, and system libraries
  • Full compatibility with systemd, UFW, Nginx/Apache, and Docker
  • Seamless deployment in on-premises, cloud, or containerized environments

Typical Use Cases

  • Team brainstorming and meeting notes
  • Collaborative writing for articles, books, or papers
  • Shared to-do lists or project planning
  • Classroom note-taking or live group activities
  • Developer pair programming or collaborative scripting

System Requirements

ComponentRecommended Minimum
OSUbuntu 24.04 LTS (64-bit)
Node.jsNode.js 18+ (LTS)
RAM512 MB minimum (1 GB+ recommended)
CPU1 core (multi-core for busy pads)
Disk Space100 MB+ for files and logs
DatabaseSQLite (default), PostgreSQL, or MySQL/MariaDB

Etherpad runs as a Node.js application and stores pads in either a flat file or SQL database.


Security and Privacy Considerations

  • Self-hosted Etherpad gives you full control over user data
  • Can be protected behind HTTPS using reverse proxies like Nginx or Apache
  • Supports access control, including password-protected pads and read-only sharing
  • Plugins available for authentication via LDAP, OAuth, or custom login systems
  • Optional logging and moderation tools for educational or shared environments

Deployment Methods

  • Manual setup: Install Node.js, clone Etherpad from GitHub, configure and run
  • Docker container: Official Docker image for isolated deployments
  • Reverse proxy: Use Nginx or Apache to serve Etherpad on standard ports with HTTPS
  • Cloud: Deployable on VPS providers like Shape.host, DigitalOcean, AWS, etc.

Etherpad vs Other Collaborative Editors

FeatureEtherpadGoogle DocsCryptPadOnlyOffice
Real-time editingYesYesYesYes
Self-hostingYesNoYesYes
Plugin supportExtensiveLimitedLimitedModerate
Data privacyFull (self-hosted)Limited (Google-owned)EncryptedDepends on setup
Built-in chatYesNoYesNo
Best use caseLightweight editingRich document creationPrivacy-first notesFull document suite

Etherpad on Ubuntu 24.04 is a powerful, real-time collaboration tool that’s easy to deploy, maintain, and customize. It provides a lightweight and open-source alternative to commercial cloud editors—perfect for teams, classrooms, and organizations that value privacy, simplicity, and control.

Ubuntu 24.04 offers a robust foundation with up-to-date packages and security, making it an ideal platform for self-hosted collaboration at any scale. Whether you’re planning a meeting, drafting an article, or organizing ideas live with others, Etherpad is a dependable tool to get it done.


Step 1: Create a VPS on Shape.Host

Before anything, you need a server to host Etherpad.

Go to https://shape.host and sign in.

Click “Create”, then select “Instance”.

Shape.host Resources dashboard with Create > Instance highlighted.

Choose the data center location that’s closest to you.

Shape.host instance form with the data center location selector highlighted.

Pick Ubuntu 24.04 (64-bit) as your OS.

Choose a plan with at least 2 CPUs, 4 GB RAM, and 20 GB SSD.

Shape.host instance form with the operating system image selector highlighted.

Click Create Instance.

Shape.host instance form with the Create Instance button highlighted.

Once created, copy the IP address from the Resources tab — you’ll use it to connect via SSH.

Shape.host Resources dashboard with the server IP address highlighted.

Step 2: Connect to the Server

From a Linux/macOS terminal:

ssh root@your_server_ip

For Windows, use PuTTY and connect using the root user.


Step 3: Install Required Packages

apt update
apt install gnupg2 git curl unzip libssl-dev pkg-config gcc g++ make build-essential

This installs system tools and libraries needed to build and run Etherpad.

Terminal showing APT package management commands and output.
Terminal showing APT package management commands and output.

Step 4: Install MariaDB (Database)

apt install mariadb-server
systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb

Starts the MariaDB database server and ensures it runs on boot.

Terminal showing APT package management commands and output.
Terminal showing systemd service management commands or output.

Step 5: Set Up the Etherpad Database

Log into the database:

mariadb

Inside the MariaDB prompt, run:

CREATE DATABASE etherdb;
GRANT ALL PRIVILEGES on etherdb.* to etheruser@localhost IDENTIFIED BY 'type_password_here';
FLUSH PRIVILEGES;
exit

This creates a database etherdb and a user etheruser with full access. Replace 'type_password_here' with a strong password.

Terminal showing SQL database and user configuration commands.

Step 6: Install Node.js 18 (Required for Etherpad)

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
apt update
apt install -y nodejs
Terminal showing systemd service management commands or output.
Terminal showing package installation trigger output.

Node.js is the runtime that Etherpad is built on.

Check versions to confirm:

node -v
npm -v
Terminal showing vi commands or output during Install Node.js 18 (Required for Etherpad).

Step 7: Install pnpm (Package manager)

npm install -g pnpm
pnpm -v

pnpm is used to install Etherpad’s dependencies.

Terminal showing npm package installation messages.

Step 8: Create a Dedicated Etherpad User

useradd --system -d /opt/etherpad --shell=/bin/bash etherpad
passwd etherpad
install -d -m 755 -o etherpad -g etherpad /opt/etherpad

This adds a secure system user called etherpad.

Terminal showing bash commands or output during Create a Dedicated Etherpad User.

Step 9: Prepare Etherpad Directory

cd /opt/etherpad
su - etherpad

Creates the folder and switches to the new user.

Terminal showing Git repository cloning output.

Step 10: Clone and Run Etherpad

git clone --branch master https://github.com/ether/etherpad-lite.git
cd etherpad-lite
bin/run.sh

This downloads Etherpad and runs it once to set things up.

Terminal showing file and directory setup commands.
Terminal showing pnpm commands or output during Clone and Run Etherpad.

Step 11: Configure Etherpad Settings

nano settings.json

Edit the following section of the file:

"dbType" : "mysql",
"dbSettings" : {
  "user":     "etheruser",
  "host":     "localhost",
  "port":     3306,
  "password": "type_password_here",
  "database": "etherdb",
  "charset":  "utf8mb4"
},

"trustProxy": true,

"users": {
  "admin": {
    "password": "type_password_here",
    "is_admin": true
  }
}

Replace the passwords with secure ones. Set "trustProxy": true if you’ll use NGINX or any reverse proxy.

Terminal showing mysql commands or output during Configure Etherpad Settings.
Etherpad administrator configuration excerpt.

Step 12: Install Dependencies

./bin/installDeps.sh
exit

Installs all the packages Etherpad needs to work properly.

Terminal showing nano commands or output during Install Dependencies.

Step 13: Create a systemd Service

nano /etc/systemd/system/etherpad.service

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
Terminal showing a systemd service unit configuration.

Then run:

systemctl daemon-reload
systemctl start etherpad
systemctl enable etherpad

This will keep Etherpad running in the background and start it on boot.

Terminal showing systemd service management commands or output.

Step 14: Install and Configure NGINX

apt install nginx
Terminal showing APT package management commands and output.

Create a reverse proxy config:

nano /etc/nginx/sites-available/etherpad.conf

Paste this:

upstream etherpad {
   server localhost:9001;
   keepalive 32;
}

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

   location / {
       client_max_body_size 50M;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_http_version 1.1;
       proxy_pass http://etherpad;
   }
}
Terminal showing web server configuration text.

Enable it:

ln -s /etc/nginx/sites-available/etherpad.conf /etc/nginx/sites-enabled/
systemctl restart nginx

Replace etherpad.example.com with your actual domain.

Terminal showing systemd service management commands or output.

Step 15: Final Test (Optional Manual Run)

su - etherpad
cd ~/etherpad-lite
bin/run.sh

Only needed if you want to run Etherpad manually.


✅ Done!

You can now access Etherpad in your browser at:

http://your-server-ip

Or, if using a domain:

http://example.com
Etherpad start page with a field for creating or opening a pad.

Shape.Host gives you:

  • Reliable Linux SSD VPS servers with root access
  • Clean Ubuntu 24.04 environments
  • Easy deployments for any web tool like Etherpad

Get started now at https://shape.host