Deploy Etherpad
Real-time collaborative document editor on Postgres, with a protected admin
Just deployed
/var/lib/postgresql/data
Etherpad
Just deployed
Deploy and Host Etherpad on Railway
Etherpad is an open-source, real-time collaborative text editor. Several people can write in the same document at once and see each other's changes as they type, with author colours, chat and a full revision history. It runs in the browser, needs no accounts by default, and can be extended with plugins.
About Hosting Etherpad
Hosting Etherpad means running its Node.js server behind HTTPS with a database that keeps every pad and revision. This template runs the official etherpad/etherpad image (3.3.16, pinned by digest) next to Railway Postgres, wired together over the private network. The start command turns on proxy trust for Railway's HTTPS edge, selects Postgres, turns off the public /stats endpoint, and waits for the database before starting. The admin password and the built-in SSO client secrets are generated at deploy time, so no default credentials exist. Pads are stored in Postgres, so they survive redeploys and restarts.
Common Use Cases
- Writing meeting notes, agendas and minutes together in real time
- Drafting documents, articles or class material with a team or a classroom
- Running a self-hosted, privacy-friendly alternative to hosted document editors
Dependencies for Etherpad Hosting
- Etherpad server (official Docker image
etherpad/etherpad) - PostgreSQL database (Railway Postgres)
Deployment Dependencies
- Etherpad source and releases: https://github.com/ether/etherpad/releases
- Docker image: https://hub.docker.com/r/etherpad/etherpad
- Docker settings reference: https://github.com/ether/etherpad/blob/develop/doc/docker.md
- Etherpad documentation: https://docs.etherpad.org/
Implementation Details
Admin panel: open /admin on your Etherpad's Railway domain. The user is admin and the password is the generated ADMIN_PASSWORD variable on the Etherpad service.
Who can edit: like a standard Etherpad, anyone who knows a pad's URL can open and edit it. To make every visitor log in, set REQUIRE_AUTHENTICATION=true on the Etherpad service. Visitors then sign in as user with the generated USER_PASSWORD, or as admin.
Settings: any option from Etherpad's settings.json.docker can be set as a variable on the Etherpad service, for example TITLE, DEFAULT_PAD_TEXT, SKIN_VARIANTS or LOGLEVEL. Plugins installed from the admin panel are not kept across redeploys. To keep a plugin, build your own image with the ETHERPAD_PLUGINS build argument.
HTTP API: Etherpad 3 authenticates API calls with OAuth2 through its built-in SSO provider. The client secrets ADMIN_SECRET and USER_SECRET are generated for you, and the issuer is your Railway domain.
Why Deploy Etherpad on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Etherpad on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
