Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsThe reliable production pattern is simple: run Etherpad privately on your Linux VPS at 127.0.0.1:9001, place a reverse proxy such as NGINX, Caddy or Traefik in front of it, terminate TLS at that proxy, and keep the database and uploaded files on persistent storage. The proxy must pass WebSocket upgrade headers or collaborative editing can fall back to slow long-polling or fail.
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
You can deploy the official Docker image or install Etherpad from source. Docker is usually easier to reproduce and roll back; a source install gives you more direct control over Node dependencies and plugins. The steps below cover both approaches, HTTPS, proxy configuration, persistence, upgrades and the failures that most often affect a self-hosted instance.
As an Amazon Associate I earn from qualifying purchases.
What a production Etherpad VPS looks like
Etherpad normally listens on TCP port 9001. That port should be reachable only from the local machine or the private network used by your proxy, not directly from the public internet. Public traffic follows this path:
- A DNS record points your chosen hostname to the VPS.
- The VPS firewall allows web traffic on ports
80and443. - NGINX, Caddy, Traefik or another reverse proxy accepts the request and handles TLS.
- The proxy forwards HTTP and WebSocket traffic to
http://127.0.0.1:9001. - Etherpad stores pad data in the database and keeps any uploaded or plugin-managed files on storage that survives container or process replacement.
This layout separates internet-facing concerns from the Etherpad process. It also lets the proxy issue or renew certificates while Etherpad continues to listen on its normal local port.
#1 Best Overall
- BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
- EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
- COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
- LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
- WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.
Choose Docker or a source installation
| Decision area | Official Docker image | Source install |
|---|---|---|
| Repeatability | Pin an image tag and recreate the same container configuration on another VPS. | Pin the Etherpad revision and Node dependency set yourself. |
| Upgrades and rollback | Pull a tested tag, replace the container, and return to the previous tag if needed. | Update the checkout and dependencies, then restore the previous revision if a change fails. |
| Plugin and dependency control | Use the image’s build and environment model, or build a derived image when customization is required. | Work directly with the application files, plugins and Node installation. |
| Persistence | Explicitly mount durable storage and connect the container to a deliberate database and backup plan. | Keep the database and application-managed files outside disposable deployment artifacts. |
| Documentation reference | The official image is published as etherpad/etherpad and mirrored as ghcr.io/ether/etherpad. The documentation displays tag 2.6.1; verify the current release before pinning it. |
The official FAQ documents a one-line Linux, macOS or WSL installer. |
For a first VPS, Docker generally reduces the number of host-level dependencies and makes a tested rollback easier. A source install is reasonable when your team already operates Node-based services or needs to modify the application and plugins directly.
Prepare the VPS before installing Etherpad
- Use a supported Linux VPS with administrative access. No particular CPU, memory or disk size is prescribed, so choose capacity from your expected concurrent editors, history retention, plugins and backup volume.
- Assign a stable public IP and create a DNS record for the hostname you will publish.
- Allow inbound ports
80and443at the VPS firewall and hosting-provider firewall. Keep Etherpad’s9001listener private. - Decide where the database, uploaded files and plugin-managed files will live before the first production pad is created.
- Install either Docker with its Compose tooling or the host dependencies required by your chosen source-install procedure.
- Plan an administrator credential and store secrets in protected environment variables or a secret store. Restrict permissions on any file that contains them.
Do not publish the database port to the internet. The reverse proxy is the public boundary; Etherpad and its database should remain on private addresses.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Deploy Etherpad with Docker
Run a disposable test instance
The official documentation shows a minimal container run. To test the image on a private port, use:
docker run --detach --publish 9001:9001 etherpad/etherpad
The equivalent pattern is docker run --detach --publish <DESIRED_PORT>:9001 <YOUR_USERNAME>/etherpad when using a selected host port or a derived image. A host port other than 9001 changes only the outside mapping; Etherpad still listens on container port 9001.
This test run is not a production persistence plan. A container can be replaced, and a default database fallback can be unsuitable for durable service. Stop here only long enough to confirm that the image starts and the local service answers.
Pin the image for production
The Docker documentation displays tag 2.6.1. Tags change, so check the current Etherpad release and then pin the exact tag you have tested rather than deploying an unqualified latest tag. A pinned run has the following form:
Free tools Windows power users keep installed
One-click scans. No signup required.
docker run --detach --name etherpad --publish 127.0.0.1:9001:9001 etherpad/etherpad:2.6.1
The loopback binding keeps the application off the public interface. If your proxy runs in another container or on another private host, bind it to the appropriate private network instead and restrict that network with firewall rules.
Rank #2
- WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
- AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
- PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
- ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
- COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed
Pass configuration through environment variables
The image reads most settings from environment variables. The important names documented for deployment are:
PORT, which defaults to9001.DB_TYPE,DB_HOST,DB_PORT,DB_NAME,DB_USERandDB_PASSfor database connectivity.TRUST_PROXYfor operation behind a TLS-terminating proxy.
Configuration-variable substitution happens when Etherpad loads its settings; it does not rewrite settings.json on disk. Treat the container definition, environment file or secret-store entry as the source of truth and protect it from unprivileged users.
Use durable storage
Mount persistent storage for every database file and application-managed directory that your deployment uses. The image documentation identifies DirtyDB as the default database fallback and SQLite as another file-backed option. For a production VPS, select the database deliberately, document where its files reside, and include those files in a tested backup routine. Do not assume that replacing a container preserves data unless the storage is explicitly outside the disposable container layer.
If you use a separate database service, keep its port on a private network, set the documented DB_* variables, and make sure the database backup is coordinated with backups of uploaded or plugin-managed files.
Compose-style operation
A Compose deployment is useful when Etherpad, its database and the proxy must be recreated together. Keep the image tag, environment values, private network and persistent volumes in version-controlled configuration, while storing passwords outside the repository. Before putting that file into production, confirm that volume paths, ownership and backup jobs survive a complete container replacement.
Install Etherpad from source
The official FAQ documents a convenience installer for Linux, macOS and WSL:
curl -fsSL https://raw.githubusercontent.com/ether/etherpad/master/bin/installer.sh | sh
Because this command downloads and executes a remote script, review the script and your pinning policy before using it on a production VPS. A safer operational pattern is to inspect the script, decide which revision you trust, and record the resulting Etherpad and Node versions so the installation can be reproduced.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Rank #3
- Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
- Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
- Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
- ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
- Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)
- Run the installer only on the intended host account and with the privileges it actually requires.
- Confirm that Etherpad starts locally and listens on
127.0.0.1:9001or another private address you have selected. - Place the service under a process supervisor appropriate to your operating system so it restarts after a failure or reboot.
- Keep the application directory, database location and uploaded files on storage covered by your backup plan.
- Record the source revision and dependency state before applying upgrades.
The source route gives direct control over plugins and Node dependencies, but that control becomes your operational responsibility. Test dependency and plugin changes on a separate instance before changing the public service.
Put a reverse proxy in front of Etherpad
The proxy must forward normal HTTP requests and WebSocket upgrade requests to the local upstream. The load-bearing headers are Upgrade and Connection; if they are missing, real-time editing can silently fall back to slow long-polling or break altogether.
Caddy
Caddy’s documented example is intentionally short:
pad.example.com {
reverse_proxy 127.0.0.1:9001
}
With this arrangement Caddy handles WebSocket forwarding and certificate issuance. Replace the hostname with the DNS name you actually control, then verify that the proxy can reach the local Etherpad listener.
Recommended Free Tools
NGINX
In NGINX, create a virtual host for the Etherpad hostname and proxy requests to http://127.0.0.1:9001. Ensure the location that handles Etherpad traffic uses HTTP/1.1 and forwards the WebSocket headers, for example:
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:9001;
Keep the public listeners on ports 80 and 443, and do not add a public listener for port 9001. After every proxy change, open a pad from two browsers and watch for immediate updates rather than assuming that a successful page load proves WebSockets work.
Traefik or another proxy
Traefik can provide the same topology when your services already run in Docker or Kubernetes. The specific labels or routing objects depend on that platform, but the requirements do not change: route the public hostname to Etherpad’s private port, terminate TLS, and preserve the WebSocket upgrade and connection headers.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Rank #4
- Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
- Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
- 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
- Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
- USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC
Hosting Etherpad below a path
If the public URL is a path such as https://example.com/pad instead of a dedicated hostname, configure the proxy to send X-Proxy-Path. Without that header, Etherpad can generate incorrect asset and API URLs. A dedicated hostname is usually simpler because it avoids path-rewrite errors.
Enable HTTPS and tell Etherpad about the proxy
Recommended: terminate TLS at the proxy
Let the reverse proxy obtain and renew the certificate, then forward encrypted-connection metadata to Etherpad. Set trustProxy: true in Etherpad’s configuration, or set the corresponding Docker environment value TRUST_PROXY. This tells Etherpad to trust the X-Forwarded-* headers, record client addresses correctly and mark cookies secure when appropriate.
Restart Etherpad after changing its settings. If you omit trustProxy, users may see incorrect secure-cookie behavior or misleading client addresses even though the browser shows HTTPS.
Native Etherpad HTTPS
Etherpad also supports terminating TLS itself. Add an ssl block to settings.json with the private-key path, certificate path and, when needed, an intermediate-CA path. Restart the service after editing. Use either native TLS or proxy termination deliberately; do not expose an unprotected Etherpad port while assuming the presence of a certificate elsewhere makes it private.
Make pads and files survive restarts
Persistence is more than keeping the container alive. You need a recovery plan for the database plus any uploaded or plugin-managed files.
- Identify the exact database engine and storage location in your deployment.
- Mount database files on durable storage when using a file-backed engine.
- Back up uploaded and plugin-managed files alongside the database.
- Keep backups off the VPS or on storage that survives VPS replacement.
- Test restoring to a separate Etherpad instance; a backup that has never been restored is only an assumption.
- Document the image or source revision, environment values and proxy configuration needed to rebuild the service.
DirtyDB is the documented default fallback, while SQLite is another file-backed option. A production operator should not leave the default in place accidentally: select the database and backup schedule that match the value and collaboration history you need to retain.
Secure the deployment
- Expose only ports
80and443publicly. Keep port9001and all database ports private. - Use a dedicated service account where your host and deployment model allow it.
- Store administrator passwords and database credentials in protected environment variables or a secret store, not in a publicly readable repository.
- Restrict permissions on
settings.json, environment files and database backups. - Use a real DNS name and valid certificate for the public service.
- Review installed plugins and remove those you do not need; plugin code runs with the privileges available to Etherpad.
- Keep a tested rollback image or source revision before upgrading.
Update without losing collaboration data
- Read the Etherpad release notice and check compatibility with your plugins, proxy and database choice.
- Verify that the latest database and file backups can be read or restored.
- Record the currently running image tag or source revision and retain it as the rollback target.
- For Docker, pull the tested tag and recreate the service. For example, a pinned image update uses
docker pull etherpad/etherpad:2.6.1after you have confirmed that tag is the release you intend to run. Compose-based deployments can pull the new image and rundocker compose up -dwith the reviewed configuration. - For a source deployment, update the checkout and dependencies in a staging or maintenance window, then restart the service under its supervisor.
- Verify the proxy, WebSockets, pad creation, simultaneous editing and reconnect behavior before declaring the upgrade complete.
The Etherpad admin interface can notify you when a newer release is available. Treat that notification as a prompt to test and schedule the change, not as permission to replace a production instance without a backup and rollback path.
Best Value
- Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
- Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
- Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
- Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
- Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.
Validate the finished service
- Resolve the public hostname to the VPS and confirm the certificate matches it.
- Open the HTTPS URL and create a new pad.
- Open the same pad in a second browser or private window and type in both sessions. Changes should appear promptly in each session.
- Inspect proxy and Etherpad logs for upgrade failures, repeated reconnects or incorrect forwarded addresses.
- Restart the Etherpad process or container and confirm that the pad remains available.
- Restart the proxy and repeat the collaboration test.
- Simulate a short network interruption, reconnect, and verify that edits are still present.
- Run a restore test against a non-production instance using the latest database and file backup.
Troubleshooting common failures
The page loads, but edits arrive slowly or not at all
Check the proxy’s WebSocket handling first. Confirm HTTP/1.1 is enabled for the upstream and that both Upgrade and Connection headers are forwarded. A normal HTML response does not prove that the real-time channel is working.
The proxy returns a gateway error
Verify that Etherpad is running and listening on the address and port used by the proxy. If Etherpad binds to 127.0.0.1:9001, a proxy in a separate container cannot reach it through its own loopback interface; place both services on a shared private network or bind Etherpad to the private interface required by that topology, while keeping firewall access restricted.
Secure cookies or client addresses are wrong
Set trustProxy: true or the documented TRUST_PROXY environment value when TLS terminates at the proxy. Confirm that the proxy sends the X-Forwarded-Proto and client-address headers.
Pads disappear after a restart
Inspect the database configuration and storage mounts. If the service used DirtyDB or SQLite inside a disposable container layer, replacing that layer can remove the data. Move the database files to persistent storage or use a deliberately managed database, then restore from a known-good backup.
Assets or API calls point to the wrong URL
When serving Etherpad under a path such as /pad, make sure the proxy sends X-Proxy-Path. A dedicated hostname avoids most path-prefix mistakes.
An upgrade breaks plugins or starts but cannot serve pads
Return to the recorded image tag or source revision, restore the compatible dependency state, and keep the database and file backups untouched until the cause is understood. Test the new release on a separate instance before trying the upgrade again.
Quick Recap
Practical deployment checklist
- DNS points the public hostname at the VPS.
- Ports
80and443are allowed; port9001is private. - Etherpad is reachable locally at
127.0.0.1:9001or through the intended private network. - The proxy forwards WebSocket upgrade and connection headers.
- TLS is active and
trustProxyis enabled when TLS terminates at the proxy. - Docker image or source revision is pinned and recorded.
- Database and uploaded or plugin-managed files are on persistent storage.
- Secrets are protected and database ports are not public.
- Backups have been restored successfully in a test environment.
- Two-browser editing and reconnect tests pass after deployment and after upgrades.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




