Etherpad Docker image
Docker image for Etherpad setup for production and with additionnal plugins.
Additionnal plugins installed:
This image also includes custom wait scripts. See docker-compose examples on how to use it.
What is Etherpad
Real-time collaborative document editor.
Supported tags
Dockerhub monogramm/docker-etherpad
-
From Etherpad-lite
masterbranchalpinelatestdebian
-
From Etherpad-lite
developbranchdevelop-alpinedevelopdevelop-debian
-
From Etherpad-lite
1.8.4tag1.8.4-alpine1.8.41.8.4-debian
-
From Etherpad-lite
1.8.3tag1.8.3-alpine1.8.31.8.3-debian
-
From Etherpad-lite
1.8.0tag1.8.0-alpine1.8.01.8.0-debian
How to run this image
To run your instance:
docker run --detach --publish <DESIRED_PORT>:9001 monogramm/docker-etherpadAnd point your browser to http://<YOUR_IP>:<DESIRED_PORT>
Options available by default
The settings.json available by default enables some configuration to be set from the environment.
Available options:
TITLE: The name of the instanceFAVICON: favicon default name, or a fully specified URL to your own faviconSKIN_NAME: eitherno-skin,colibrisor an existing directory undersrc/static/skins.IP: IP which etherpad should bind at. Change to::for IPv6PORT: port which etherpad should bind atSHOW_SETTINGS_IN_ADMIN_PAGE: hide/show the settings.json in admin pageDB_TYPE: a database supported by https://www.npmjs.com/package/ueberdb2DB_HOST: the host of the databaseDB_PORT: the port of the databaseDB_NAME: the database nameDB_USER: a database user with sufficient permissions to create tablesDB_PASS: the password for the database usernameDB_CHARSET: the character set for the tables (only required for MySQL)DB_FILENAME: in caseDB_TYPEisDirtyDB, the database filename. Default:var/dirty.dbADMIN_PASSWORD: the password for theadminuser (leave unspecified if you do not want to create it)USER_PASSWORD: the password for the first useruser(leave unspecified if you do not want to create it)TRUST_PROXY: set totrueif you are using a reverse proxy in front of Etherpad (for example: Traefik for SSL termination via Let's Encrypt). This will affect security and correctness of the logs if not doneLOGLEVEL: valid values areDEBUG,INFO,WARNandERRORLOCALE: default localeREQUIRE_AUTH: if you require authentication of all users.REQUIRE_SESSION: if you require session and effectively allows only group pads to be accessed.MINIFY: if you wish to disable minify.
ep_ldapauth options:
LDAP_ENABLED: LDAP enabled. Format: any non null value will enableldapauthLDAP_URL: LDAP URL. Format:ldaps://ldap.example.comLDAP_BASE_DN: LDAP Account Base. Format:ou=Users,dc=example,dc=comLDAP_ACCOUNT_PATTERN: LDAP Account Pattern. Format:(&(objectClass=*)(uid={{username}}))LDAP_DISPLAY_NAME_ATTR: LDAP Display name attribute. Format:cnLDAP_SEARCH_DN: LDAP Search DN. Format:uid=searchuser,dc=example,dc=comLDAP_SEARCH_PASSWD: LDAP Search Password. Format:supersecretpasswordLDAP_GROUP_DN: LDAP Group DN. Format:ou=Groups,dc=example,dc=comLDAP_GROUP_ATTR: LDAP Group attribute. Format:memberLDAP_GROUP_ATTR_IS_DN: LDAP Group attribute is DN. Format:falseortrue(default)LDAP_GROUP_SCOPE: LDAP Group scope. Format:subLDAP_GROUP_SEARCH: LDAP Group search pattern. Format:(&(cn=etherpad-admin)(objectClass=groupOfNames))LDAP_ANON_RO: LDAP Anonymous read only. Format:false(default) ortrue
ep_piwik options:
PIWIK_URL: Matomo / Piwik URLPIWIK_SITE_ID: Matomo / Piwik Site ID
ep_markdown options:
MARKDOWN: Enable/disable markdown support
Examples
Use a Postgres database, no admin user enabled:
docker run -d \
--name etherpad \
-p 9001:9001 \
-e 'DB_TYPE=postgres' \
-e 'DB_HOST=db.local' \
-e 'DB_PORT=4321' \
-e 'DB_NAME=etherpad' \
-e 'DB_USER=dbusername' \
-e 'DB_PASS=mypassword' \
monogramm/docker-etherpadRun enabling the administrative user admin:
docker run -d \
--name etherpad \
-p 9001:9001 \
-e 'ADMIN_PASSWORD=supersecret' \
monogramm/docker-etherpadRun a test instance running DirtyDB on a persistent volume:
docker run -d \
-v etherpad_data:/opt/etherpad-lite/var \
-p 9001:9001 \
monogramm/docker-etherpadQuestions / Issues
If you got any questions or problems using the image, please visit our Github Repository and write an issue.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
