Commit graph

193 commits

Author SHA1 Message Date
John McLear
706dd4bc4c
docs(readme): lead with positioning, not feature description (#7526)
- Rewrite title + About to lead with what Etherpad is for
  (authorship, sovereignty, malleability) before features
- Rewrite Project Status to make the maintainer ask specific and
  to situate the project's 16-year track record
- Add new "Who uses Etherpad" section with categorical adopter
  profiles so institutional evaluators have proof points on-page

No code or behaviour changes.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 11:55:26 +01:00
John McLear
301ae4df2c
feat: add one-line installer script (#7466) (#7485)
* feat: add one-line installer script (#7466)

Adds bin/installer.sh, a small POSIX shell script that:
- Verifies prerequisites (git, Node.js >= 18)
- Installs pnpm globally if missing (with sudo fallback)
- Clones etherpad-lite (configurable branch / dir)
- Runs `pnpm i` and `pnpm run build:etherpad`
- Optionally starts Etherpad if ETHERPAD_RUN=1

Users can now install Etherpad with a single command:

  curl -fsSL https://raw.githubusercontent.com/ether/etherpad-lite/master/bin/installer.sh | sh

README updated to feature the one-liner above the existing
Docker-Compose / manual install instructions.

Closes #7466

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* test: add installer-test workflow + Windows PowerShell installer

- bin/installer.ps1: PowerShell port of installer.sh so the one-liner
  also works on Windows via 'irm ... | iex'.
- .github/workflows/installer-test.yml: end-to-end CI that runs each
  installer against the PR's own commit (via ETHERPAD_REPO/BRANCH env
  vars), verifies clone + node_modules + admin SPA artifacts, and
  smoke-tests by starting Etherpad and curling /api. Runs on
  ubuntu-latest, macos-latest, and windows-latest. Includes a
  shellcheck job for installer.sh.
- README: feature the Windows one-liner alongside the POSIX one.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* test: fix windows smoke test - wrap pnpm in cmd /c

Start-Process can't run pnpm.cmd directly ("not a valid Win32 application").
Wrap it via cmd.exe /c instead, and bump the wait window to 90s for slower
Windows runners. Also dump stderr alongside stdout when the smoke test
fails for easier debugging.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: address Qodo review on installer (#7485)

Two correctness issues caught by Qodo:

1. Node version mismatch: installer required Node >= 18, but the repo's
   engines.node is >= 20. Bump REQUIRED_NODE_MAJOR to 20 in both shell
   and PowerShell installers, and update the README's quick-install
   prerequisite and Requirements section to match.

2. Branch ignored for existing checkouts: when ETHERPAD_DIR already
   existed, the script ran 'git pull --ff-only' on whatever branch
   happened to be checked out, ignoring ETHERPAD_BRANCH and never
   verifying ETHERPAD_REPO. The existing-dir path now:
   - validates the remote URL matches ETHERPAD_REPO
   - refuses to clobber uncommitted changes (excluding pnpm-lock.yaml,
     which pnpm i rewrites during install)
   - fetches with --tags --prune
   - checks out ETHERPAD_BRANCH as a branch or detaches at it as a tag
   - prints the resulting commit short SHA for clarity

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 17:10:22 +01:00
John McLear
4d80659fc8
docs: add AGENTS.MD for AI and developer guidance (#7348)
* docs: add AGENTS.MD for AI and developer guidance

* docs: update project name from Etherpad Lite to Etherpad

* docs: fix incorrect test directory path in AGENTS.MD

* docs: correct test stack description in AGENTS.MD (Mocha is primary)

* docs: fix incorrect easysync documentation path in AGENTS.MD

* chore: add .pr_agent.toml to enable automatic PR review/description on push

* docs: remove nodejs version from README and AGENTS.MD (prefer package.json)

* docs: standardize all indentation to 2 spaces

* chore: update src/package.json node engine to match root (>=20.0.0)
2026-03-04 21:03:58 +00:00
pppery
5295e98595
Remove advertising of Wikimedia etherpad instance (#7327)
Per https://phabricator.wikimedia.org/T371591 they don't want their etherpad instance advertised for unrelated uses.
2026-02-15 19:59:27 +01:00
SamTV12345
6208a04556 fix: use data postgresql mapping 2025-04-19 20:18:27 +02:00
AJ Formation
ac4489875f
Simple Readme documentation (#6729)
* Simple Readme documentation

* Get actual version
2024-10-28 18:18:03 +01:00
SamTV12345
a63c27df0f Unified installation process 2024-08-06 17:47:47 +02:00
SamTV12345
27dab95113
Fixed documentation to be pnpm run plugins i for plugin installation (#6405) 2024-05-24 21:57:39 +02:00
SamTV12345
9f5ff6171a
Fixed docker compose (#6337) 2024-04-17 20:50:21 +02:00
SamTV12345
18cdced765 Fixed images in readme. 2024-03-25 15:36:33 +01:00
Stefan Müller
7ef69d3840
Fix paths in README (#6222) 2024-03-14 16:09:34 +01:00
Stefan Müller
fe106f0afc
Improve plugins docker build and fixed plugin loading when dependencies are specified (#6164)
* Install pnpm only local - not global

* Install plugins during docker build with live-plugin-manager

* Migrated installer to ts.

* Added missing workspace script.

* Fixed docker build.

* Fix Dockerfile

* Fixed installer not being yet initialized.

* Ported installer to correct install path.

* Fixed pnpm installation.

* Fixed docker build.

* Fixed plugin loading.

* Fixed plugins not being able to be loaded.

* Fix plugin installation instructions in README

* Fixed startup.

* Fixed folder not present.

* Added unlinking dependencies.

* Added deleting dependencies.

* Fixed listing plugins.

---------

Co-authored-by: SamTV12345 <40429738+samtv12345@users.noreply.github.com>
2024-03-14 16:06:32 +01:00
SamTV12345
ead3c0ea38
Added typescript to etherpad
* Fixed determining file extension.

* Added ts-node

* Fixed backend tests.

* Fixed frontend test runs.

* Fixed tests.

* Use script approach for starting etherpad.

* Change directory to src.

* Fixed env.

* Change directory

* Fixed build arg.

* Fixed docker build.

* Fixed.

* Fixed cypress file path.

* Fixed.

* Use latest node container.

* Fixed windows workflow.

* Use tsx and optimized docker image.

* Added workflow for type checks.

* Fixed.

* Added tsconfig.

* Converted more files to typescript.

* Removed commented keys.

* Typed caching middleware.

* Added script for checking the types.

* Moved SecretRotator to typescript.

* Fixed npm installation and moved to types folder.

* Use better scripts for watching typescript changes.

* Update windows.yml

* Fixed order of npm installation.

* Converted i18n.

* Added more types.

* Added more types.

* Fixed import.

* Fixed tests.

* Fixed tests.

* Fixed type checking test.

* Fixed stats

* Added express types.

* fixed.
2024-02-05 21:13:02 +01:00
XSpielinbox
fdd1750ac9
Correct Node.js install instructions (#6077) 2023-12-18 17:05:40 +01:00
Stefan
f154a4cd52
Update required node.js version in README (#6067) (#6068) 2023-12-12 21:54:24 +00:00
ppom
d13a5f89ec
fix doc link (#5901)
Co-authored-by: ppom <>
2023-09-01 00:50:54 +02:00
John McLear
1d289520eb
Require Node 16 for Etherpad and target Node 20 for testing (#5771) 2023-06-26 18:11:32 +01:00
John McLear
1c23a40aea docs for public instances 2023-06-20 17:13:01 +01:00
John McLear
a17a498caa require node 14 2023-06-20 15:11:41 +01:00
John McLear
89fe3e79a4 note to get help 2023-06-20 13:58:01 +01:00
John McLear
9e86666b7e Remove LGTM 2023-06-20 13:58:01 +01:00
Richard Hansen
00173cf55d Windows build: Consolidate Windows workflows 2022-05-14 18:25:29 -04:00
Richard Hansen
1d7a41fec2 docs: Expand plugin documentation 2022-04-02 01:11:00 -04:00
Richard Hansen
5b53fda9b0 docs: README formatting tweaks 2022-04-02 01:11:00 -04:00
Richard Hansen
581a5df5ff docs: Use http URL for cloning
and some minor edits
2022-04-02 00:16:30 -04:00
Richard Hansen
1e604add99 deps: Require Node.js 12.17.0 or later
This makes it possible to use dynamic `import()`.
2022-01-27 01:27:10 -05:00
John McLear
90a2b553d1 Revert "Update README.md"
This reverts commit 1c49970fda.
2021-10-03 11:41:14 +01:00
John McLear
1c49970fda
Update README.md 2021-10-03 11:22:00 +01:00
Richard Hansen
ef1ba21104 deps: Drop support for Node.js < 12.13.0 2021-06-14 23:17:17 +02:00
John McLear
9bc3ac0957 Include shard.etherpad.com in the README 2021-03-09 18:10:49 +00:00
John McLear
f24353e806
Update README.md 2021-03-02 07:00:05 +00:00
John McLear
05b27cfd5d
Update README.md 2021-03-02 06:54:08 +00:00
John McLear
a79f9efdb4
Include props to Sauce Labs for the tests they power. (#4897)
* Include props to Sauce Labs for the tests they power.

* include message in CI
2021-03-01 14:46:50 +00:00
Stefan
a6ac0940cd Link discord and plugins badge with a meaningful url 2021-02-28 11:24:10 +00:00
John McLear
9675a584ce
Windows Installer Badge into README
Windows Installer Badge into README
2021-02-25 10:44:00 +00:00
Dan Sonntag
79fee9e796 Update README.md 2021-02-24 18:44:07 +00:00
John McLear
1a9709bb87
Update README.md 2021-02-23 07:24:39 +00:00
John McLear
a102bbfbef
badges: color fix 2021-02-22 09:37:30 +00:00
John McLear
b7958b915a
docs: Badge polish 2021-02-22 09:28:37 +00:00
Richard Hansen
6198e92706 tests: Pass --legacy-peer-deps flag to work around npm v7 bug
This flag is unknown to npm v6, but npm v6 silently ignores unknown
flags.
2021-02-22 03:36:12 -05:00
John McLear
08d2024caf
docs: badges
Badges into the README.md to show code quality, engagement etc.
2021-02-20 13:22:23 +00:00
Richard Hansen
6163339c0d plugins: Always install plugins with --no-save
The npm CLI can get confused if `package.json` or `package-lock.json`
exist.
2021-02-18 19:18:59 +00:00
Richard Hansen
bdd32f8915 Replace node_modules/ep_etherpad-lite with src 2021-02-16 10:35:05 +00:00
Richard Hansen
8b28e00784 restructure: Prefix bin/ and tests/ with src/
This is a follow-up to commit
2ea8ea1275.
2021-02-05 21:52:08 +00:00
John McLear
0cc8405e9c Bump minimum required Node.js version to 10.17.0
This makes it possible to use fs.promises.
2021-01-30 17:00:40 -05:00
bytecaster
1d6319b852 docs: Remove ep_page_view from README
Removes ep_page_view plugin from the installation instructions in README.md to aid new users installing etherpad-lite.

According to the plugin directory at https://static.etherpad.org/index.html, the plugin is defunct as it is now part of etherpad-lite core and when I tried installing etherpad with the plugin (following the instructions), its installation resulted in an error every time I opened a pad.
2021-01-20 07:38:54 +00:00
John McLear
8bee2e41f4
docs: update Node version to 14 which is LTS 2020-12-16 19:50:21 +00:00
John McLear
f0da3a0c4c
Update README.md 2020-11-09 08:32:18 +00:00
John McLear
5e7d54a4aa
Update README.md 2020-11-09 08:27:53 +00:00
John McLear
99d5c7c943
docs: Migrate from Travis-ci.org to .com 2020-10-28 11:05:33 +00:00