A customized Etherpad instance with plugins for URL simplification and post data handling.
# Clone and setup submodules
git submodule update --init --recursive
# Setup environment
cp .env.example .env # edit .env as needed
echo "127.0.0.1 secretdomain" | sudo tee -a /etc/hosts
# Install dependencies
pnpm install# Stop any running instances
./docker-down.sh
# Start the development server
./docker-up.sh
# Access the application
open http://localhost:9001
open http://secretdomain:9001
# Reload plugins after changes
docker restart beetherpad# Run tests for ep_simple_urls plugin
cd ep_simple_urls && pnpm test
# Visual regression tests
cd scripts/puppeteer && pnpm testEtherpad limits the socket buffer size to guard against DoS attacks.
If you find that large updates to documents aren't being saved, you
may need to increase the socket buffer size limit. This can be done
by changing the socketIo.maxHttpBufferSize setting in settings.json.
Key environment variables:
DB_TYPE: Database type (postgres/dirty)ADMIN_PASSWORD: Admin user passwordETHERPAD_SECRET_DOMAIN: Secret domain for special access
Deployments are automated via GitHub Actions to Render.com when changes are pushed to main.
- Create a feature branch
- Make changes
- Run tests
- Submit a pull request
For more details, see knowledge.md.