Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content

Etherpad Lite

31 Topics 286 Posts
  • Etherpad Lite - Package updates

    Pinned Locked
    49
    0 Votes
    49 Posts
    36k Views
    Package UpdatesP
    [4.10.2] Update etherpad-lite to 3.3.2 Full Changelog Force @opentelemetry/core 2.8.0 (GHSA-8988-4f7v-96qf / CVE-2026-54285, #7975). The transitive dep (pulled in via @elastic/elasticsearch @elastic/transport) had a W3CBaggagePropagator.extract() that did not enforce W3C size limits on inbound baggage headers, allowing unbounded memory allocation. Pinned via a pnpm-workspace.yaml override; satisfies the existing 2.x range with no parent bump. Resolve open Dependabot security alerts (#7967). Refreshes stale override floors and adds new ones via pnpm-workspace overrides: form-data 4.0.6, ws 8.21.0, esbuild 0.28.1, basic-ftp 5.3.1 (capped <6.0.0 to avoid a surprise major on the plugin-install path), tar 7.5.16, js-yaml 4.2.0, qs 6.15.2, ip-address 10.1.1, and @babel/core 7.29.6. Reject read-only deletion via token-less paths (part of #7959 / #7960). Under allowPadDeletionByAllUsers a read-only viewer was granted canDeletePad=true, and the server's flagOk/creatorOk branches never checked session.readonly so a read-only link holder could delete a pad without a token. Read-only sessions are now excluded from both the client var and the server's token-less authorization paths; a valid recovery token stays sufficient regardless of session mode. Pad deletion suppress the recovery token for durable identities and relabel the action (#7926 / #7930). Building on the allowPadDeletionByAllUsers suppression, a creator's deletion token is now also withheld when they have a durable identity authenticated (req.session.user with a username) and the deployment pins that identity to a stable authorID via a getAuthorId hook since only then does the creator survive a cookie clear or a different device, making the token redundant. Offline/air-gapped installs env-var overrides for the update check, plugin catalog, and updater (#7917, addresses #7911). Firewalled deployments could not disable Etherpad's outbound calls without editing settings.json inside the image. Pad keep the token-less Delete button reachable without pad-wide settings (#7959 / #7960). The token-less #delete-pad button was nested inside the enablePadWideSettings-gated section, so disabling pad-wide settings removed the only no-token deletion path. History mode restore the saved-revision markers (#7946 / #7948). When #7659 moved the timeslider into the pad as an embedded iframe, the user-facing control became the outer #history-slider-input, but the saved-revision stars were still drawn into the now-hidden iframe #ui-slider-bar, so "Save Revision" appeared to do nothing in in-pad history mode (a 3.3.x regression). Import dialog correct the outdated "no converter" help message (#7988 / #7989). The notice claimed only plain text and HTML could be imported and linked to the legacy AbiWord wiki, prompting LibreOffice installs for formats that already work natively. PadManager reject unreachable . and .. pad ids (#7962). isValidPadId accepted ids consisting only of URL dot-segments, but per the WHATWG URL standard a browser normalises /p/. to /p/ and /p/.. to /, so such a pad could be created in the database yet never opened or exported. CLI fix the database migration/import scripts against the ueberdb2 promise API (#7982 / #7983). migrateDB.ts opened source and target databases, copied all keys, then resolved without closing either so under ueberdb2 6.1.x the keep-alive timer kept the process hanging after "Done syncing dbs", and buffered target writes were only guaranteed flushed on close().
  • CPU Limit question for Etherpad

    3
    1
    0 Votes
    3 Posts
    357 Views
    S
    Got it. Thank you.
  • How to install plugins ?

    Solved
    7
    1
    0 Votes
    7 Posts
    623 Views
    M
    Add plugin info The plugin info is {"name":"ep_author_neat2","version":"2.0.11"} and has to be added to app/data/data/installed_plugins.json I think that the above step is the only one needed to install plugins. Simply add the wanted plugins into /data/data/installed_plugins.json and a restart will install them. Tested with the demo server: I installed Etherpad and modified the following files: /data/data/installed_plugins.json {"plugins":[ {"name":"ep_button_link","version":"1.0.11"}, {"name":"ep_delete_empty_pads","version":"0.0.11"}, {"name":"ep_author_hover","version":"1.0.12"}, {"name":"ep_spellcheck","version":"0.0.65"}, {"name":"ep_disable_reset_authorship_colours","version":"0.0.27"}, {"name":"ep_image_upload","version":"1.0.105"}, {"name":"ep_disable_delete_button","version":"0.0.1"}, {"name":"ep_prompt_for_name","version":"1.0.25"}, {"name":"ep_table_of_contents","version":"0.3.89"}, {"name":"ep_prefer_color_scheme","version":"0.0.10"}, {"name":"ep_countable","version":"0.0.15"}, {"name":"ep_default_colors_off","version":"0.0.1"}, {"name":"ep_align","version":"10.0.2"}, {"name":"ep_comments_page","version":"10.0.4"}, {"name":"ep_embedded_hyperlinks2","version":"1.2.4"}, {"name":"ep_font_color","version":"0.0.89"}, {"name":"ep_headings2","version":"0.2.68"}, {"name":"ep_markdown","version":"10.0.1"}, {"name":"ep_openid_connect","version":"3.0.13"}, {"name":"ep_user_displayname","version":"1.0.7"}, {"name":"ep_stable_authorid","version":"1.0.5"}, {"name":"ep_guest","version":"1.0.37"}, {"name":"ep_etherpad-lite","version":"2.5.3"} ] } data/settings.json { "requireAuthentication": false, "ep_spellcheck": { "disabledByDefault" : false }, "ep_toc": { "disable_by_default": false, "show_button": true }, "ep_button_link": { "link": "https://www.cloudron.io/", "text": "Cloudron", "after": "[data-key='home']" }, "ep_author_hover": { "disabledByDefault": false } } Logs Dec 27 10:17:58 [2025-12-27T09:17:58.576] [INFO] server - Starting Etherpad... Dec 27 10:17:58 [2025-12-27T09:17:58.605] [INFO] plugins - pnpm --version: 10.20.0 Dec 27 10:17:58 [2025-12-27T09:17:58.619] [INFO] plugins - check installed plugins for migration Dec 27 10:17:59 [2025-12-27T09:17:59.059] [INFO] plugins - Loading plugin ep_button_link... Dec 27 10:17:59 [2025-12-27T09:17:59.059] [INFO] plugins - Loading plugin ep_delete_empty_pads... Dec 27 10:17:59 [2025-12-27T09:17:59.059] [INFO] plugins - Loading plugin ep_author_hover... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_spellcheck... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_disable_reset_authorship_colours... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_image_upload... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_disable_delete_button... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_prompt_for_name... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_table_of_contents... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_prefer_color_scheme... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_countable... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_default_colors_off... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_align... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_comments_page... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_embedded_hyperlinks2... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_font_color... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_headings2... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_markdown... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_openid_connect... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_user_displayname... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_stable_authorid... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_guest... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_etherpad-lite... Dec 27 10:17:59 [2025-12-27T09:17:59.068] [INFO] plugins - Loaded 23 plugins https://pad.demo.cloudron.io
  • Etherpad error on start

    Moved Solved
    9
    1 Votes
    9 Posts
    726 Views
    robiR
    @nebulon Just got to testing it.. That was it. Good catch! Started after removing it from the json plugin list.
  • Etherpad error when updating

    Solved
    24
    0 Votes
    24 Posts
    6k Views
    jamesJ
    Marking this topic as solved due to the lack of responsiveness. If this is not the case, please just write and I can mark the topic as unsolved again.
  • Last update unexpectedly broke Etherpad (due to old plugins)

    7
    0 Votes
    7 Posts
    1k Views
    robiR
    @nebulon yes, Howe once users start diverging from the default build there is no mechanism to keep them in sync across app upgrades.
  • App logs filling disk

    Moved Solved
    6
    2 Votes
    6 Posts
    2k Views
    canadaduaneC
    Oh wow, what an interesting (and slightly frightening) failure mode! "Your log files are so big that we've given up on managing them."
  • Etherpad admin access failed

    Solved
    10
    0 Votes
    10 Posts
    3k Views
    perelinP
    Just almost tripped over this myself. It seems that "requireAuthentication": false hides the login button, and so the whole login /admin situation gets confusing. Might be worth adding that to the docs.
  • setting NODE_ENV for production

    Solved
    7
    0 Votes
    7 Posts
    2k Views
    S
    @nebulon I see. Thank you!
  • "Share this pad" Read-only on/off is ignored: guests do not have editing rights

    Solved
    10
    1
    1 Votes
    10 Posts
    2k Views
    BenoitB
    Hi all, I believe I've found a solution that works. With this setup, my logged-in users can create pads, and guests can edit them as long as read-only mode is not enabled by the pad owner. Guests, however, cannot create pads. { "ep_guest": { "username": "guest" }, "users": { "user1": { "is_admin": true }, "guest": { "displayname": "Guest", "displaynameChangeable": false, "readOnly": false, "canCreate": false } } }
  • Admin Login won't work

    Solved
    15
    1 Votes
    15 Posts
    3k Views
    S
    @marylou @nebulon Currently, accessing Etherpad's admin interface is a two-step process (after the config mentioned above): First, visit /admin-auth/ to authenticate with your Cloudron user. If successful, you'll see the word "Authorized" appear. Next, visit /admin. This should no longer redirect you to /admin/login, and should instead show you the Etherpad admin console.
  • Custom skins not loading

    Solved
    6
    1
    0 Votes
    6 Posts
    3k Views
    S
    @nebulon Thank you! Great to hear. Happy to say that our custom skin loads properly.
  • Update to package v4.0 broke login

    Solved
    11
    0 Votes
    11 Posts
    10k Views
    David 0D
    @sponch Same here. But I guess, this should be a new topic in this forum. I've got the "username": { "is_admin": true in the setting.json, but I can't login with the users' credentials.
  • New upstream releases available

    Solved
    9
    0 Votes
    9 Posts
    8k Views
    S
    Great to hear! Looking forward to testing it out!
  • How to Make Documents Public ?

    11
    0 Votes
    11 Posts
    24k Views
    humptyH
    so there's no way to have authentication required and still be able to share a document publicly without having the viewer to sign in?
  • Language setting making the app crash

    Solved
    6
    1 Votes
    6 Posts
    10k Views
    nebulonN
    So the settings.json shown in the admin UI is the wrong place to make changes. It will get reset on ever app restart. To make that clear, I pushed a new app package, which disables the admin UI bit to edit the settings.json within the app.
  • Authorship color issue since 3.7 update

    Solved
    5
    2
    1 Votes
    5 Posts
    10k Views
    Z
    Hey, the issue seems to be resolved after updating Thank you !
  • Failed authentication from IP...

    3
    0 Votes
    3 Posts
    10k Views
    L
    @girish all right, thank you for your tips. In general, I find your support extremely great, very high quality, thanks for everything!
  • Plugin for automatic delete

    plugins automatic delete pad
    7
    0 Votes
    7 Posts
    15k Views
    holloschH
    @humptydumpty said in Plugin for automatic delete: @robi You beat me to it. [image: 1668209139819-screenshot-2022-11-11-172507-resized.png] Hi, plugin installation works, but the code "ep_delete_after_delay": { "delay": 86400, // one day, in seconds "loop": true, "loopDelay": 3600, // one hour, in seconds "deleteAtStart": true, "text": "The content of this pad has been deleted since it was older than the configured delay." }, don't work after putting in settings.json and restart app. I think a text should be displayed at a new pad, or? In my case there is no text...
  • Contingency Planning

    etherpad data
    2
    1 Votes
    2 Posts
    17k Views
    nebulonN
    Etherpad stores the documents and its data in the mysql database on your VPS. While editing, the clients sync their changes mostly real-time to the server. I am not fully sure what happens if you are offline and edits cannot be submitted to the server, for some time, then later the client gets online again, while the document already has changed by other clients on the server. Essentially for such more complex conflict resolutions, you have to ask upstream or see what their docs have to say about this.