MCPSERV.CLUB
Etherpad

Etherpad

Self-Hosted

Real‑time collaborative web editor

Active(100)
17.8kstars
0views
Updated 3 hours ago
Etherpad screenshot 1
1 / 5

Overview

Discover what makes Etherpad powerful

Etherpad is a lightweight, open‑source real‑time collaborative editor that can be self‑hosted on any web server. From a developer’s perspective, it exposes a RESTful API and WebSocket endpoints that allow programmatic creation, deletion, and manipulation of pads. The core data model is a *pad*—a text document stored as a series of operations (OT, Operational Transformation) that are broadcast to all connected clients. This design gives Etherpad low latency collaboration even when scaled to thousands of concurrent users, as demonstrated by the official *scale.etherpad.org* benchmark suite.

Backend

Data Persistence

Real‑time Engine

Front‑end

Overview

Etherpad is a lightweight, open‑source real‑time collaborative editor that can be self‑hosted on any web server. From a developer’s perspective, it exposes a RESTful API and WebSocket endpoints that allow programmatic creation, deletion, and manipulation of pads. The core data model is a pad—a text document stored as a series of operations (OT, Operational Transformation) that are broadcast to all connected clients. This design gives Etherpad low latency collaboration even when scaled to thousands of concurrent users, as demonstrated by the official scale.etherpad.org benchmark suite.

Architecture & Technical Stack

  • Backend: Node.js (currently using the LTS 20.x series) with a custom event‑driven architecture. The server runs in a single process but can be horizontally scaled behind a reverse proxy that shares session state via Redis or memcached.
  • Data Persistence: MongoDB is the primary datastore, storing pad contents, user sessions, and plugin metadata. For environments where MongoDB is not desired, a file backend can be used for prototyping.
  • Real‑time Engine: OT (Operational Transformation) is implemented in pure JavaScript and executed on the server. Clients communicate through WebSocket (/socket.io) for low‑latency updates and a REST API for CRUD operations.
  • Front‑end: Vanilla JavaScript with jQuery for legacy support, plus a modular CSS system that allows theme overrides. The UI is intentionally minimal to keep bandwidth usage low and improve responsiveness on mobile browsers.

Core Capabilities & APIs

  • Pad Management API: POST /api/1/createPad, GET /api/1/getText?padID=… and similar endpoints enable automated pad lifecycle management.
  • Real‑time Collaboration: The WebSocket channel exposes OT messages (addText, removeText) that can be consumed or replayed by external services.
  • Export/Import: Pads can be exported to Markdown, HTML, PDF (via headless Chrome), and other formats using the /api/1/export endpoint. Import is supported for JSON, HTML, and plain text.
  • Plugins: A plugin system based on Node.js modules allows developers to hook into events (padCreated, userJoined) and expose new REST endpoints. The plugin API is documented on the Etherpad wiki and supports both front‑end widgets and back‑end services.
  • Webhooks: Plugins can emit webhook events to external URLs, enabling integrations with CI/CD pipelines, chatops (Slack, Mattermost), or data pipelines.

Deployment & Infrastructure

Etherpad ships with a fully tested Docker image (etherpad/etherpad:latest) and supports Docker‑Compose out of the box. The container exposes a single port (9001 by default) and mounts two volumes: one for persistent data (/opt/etherpad-lite/src/data) and another for custom plugins (/opt/etherpad-lite/src/plugin_packages). For production, a reverse proxy (NGINX or Traefik) can provide HTTPS termination and sticky sessions. Horizontal scaling is achieved by running multiple instances behind a load balancer, sharing session state via Redis or memcached to keep the OT stream consistent.

Integration & Extensibility

  • Plugin Ecosystem: Over 290 community plugins cover features such as Gantt charts, markdown preview, file upload, and authentication via OAuth.
  • Authentication: Built‑in support for LDAP, SAML, and custom authentication plugins.
  • Custom UI: The skinning system allows developers to override CSS and add custom JavaScript modules, enabling a branded experience without touching the core codebase.
  • API Rate Limiting: Developers can configure per‑user or global rate limits through the settings.json file, ensuring that malicious clients cannot overwhelm the server.

Developer Experience

Etherpad’s documentation is split across a developer‑focused wiki and inline code comments. The community maintains an active Discord channel where developers can ask questions about plugin development or scaling strategies. Continuous integration pipelines (GitHub Actions) run unit tests, load tests, and Docker image builds on every push, providing confidence that custom changes will not break production. The open‑source license (MIT) allows unrestricted commercial use and modification.

Use Cases

  • Educational Platforms: Embed Etherpad into LMSs (Moodle, Canvas) to provide live note‑taking during lectures.
  • Enterprise Collaboration: Deploy behind a corporate VPN to give teams a lightweight alternative to heavier office suites.
  • DevOps Documentation: Automate the creation of pads via CI pipelines for change logs or incident reports.
  • Open‑Source Projects: Use Etherpad instances to coordinate writing of documentation or design documents in real time.

Advantages

Etherpad’s minimal footprint, pure JavaScript implementation, and proven OT algorithm make it highly performant on modest hardware. Its modular plugin architecture allows developers to extend functionality without forking the core. Licensing (MIT) removes any commercial barrier, and the active community ensures rapid bug fixes and feature updates. Compared to heavyweight alternatives like Google Docs or Microsoft 365, Etherpad offers full data ownership and the ability to run in isolated environments—an essential requirement for privacy‑conscious organizations.

Open SourceReady to get started?

Join the community and start self-hosting Etherpad today

Weekly Views

Loading...
Support Us

Featured Project

$30/month

Get maximum visibility with featured placement and special badges

Repository Health

Loading health data...

Information

Category
other
License
APACHE-2.0
Stars
17.8k
Technical Specs
Pricing
Open Source
Database
PostgreSQL
Docker
Official
Supported OS
LinuxWindowsDocker
Author
ether
ether
Last Updated
3 hours ago