Docker image for Etherpad setup for production and with additionnal plugins.
🚧 This image is still in beta!
Additionnal plugins installed:
This image also includes custom wait scripts. See docker-compose examples on how to use it.
Real-time collaborative document editor.
Dockerhub monogramm/docker-etherpad
-
From Etherpad-lite
master
branchalpine
latest
debian
-
From Etherpad-lite
develop
branchdevelop-alpine
develop
develop-debian
-
From Etherpad-lite
1.8.4
tag1.8.4-alpine
1.8.4
1.8.4-debian
-
From Etherpad-lite
1.8.3
tag1.8.3-alpine
1.8.3
1.8.3-debian
-
From Etherpad-lite
1.8.0
tag1.8.0-alpine
1.8.0
1.8.0-debian
To run your instance:
docker run --detach --publish <DESIRED_PORT>:9001 monogramm/docker-etherpad
And point your browser to http://<YOUR_IP>:<DESIRED_PORT>
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
,colibris
or 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_TYPE
isDirtyDB
, the database filename. Default:var/dirty.db
ADMIN_PASSWORD
: the password for theadmin
user (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 totrue
if 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
,WARN
andERROR
LOCALE
: 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 enableldapauth
LDAP_URL
: LDAP URL. Format:ldaps://ldap.example.com
LDAP_BASE_DN
: LDAP Account Base. Format:ou=Users,dc=example,dc=com
LDAP_ACCOUNT_PATTERN
: LDAP Account Pattern. Format:(&(objectClass=*)(uid={{username}}))
LDAP_DISPLAY_NAME_ATTR
: LDAP Display name attribute. Format:cn
LDAP_SEARCH_DN
: LDAP Search DN. Format:uid=searchuser,dc=example,dc=com
LDAP_SEARCH_PASSWD
: LDAP Search Password. Format:supersecretpassword
LDAP_GROUP_DN
: LDAP Group DN. Format:ou=Groups,dc=example,dc=com
LDAP_GROUP_ATTR
: LDAP Group attribute. Format:member
LDAP_GROUP_ATTR_IS_DN
: LDAP Group attribute is DN. Format:false
ortrue
(default)LDAP_GROUP_SCOPE
: LDAP Group scope. Format:sub
LDAP_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
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-etherpad
Run enabling the administrative user admin
:
docker run -d \
--name etherpad \
-p 9001:9001 \
-e 'ADMIN_PASSWORD=supersecret' \
monogramm/docker-etherpad
Run a test instance running DirtyDB on a persistent volume:
docker run -d \
-v etherpad_data:/opt/etherpad-lite/var \
-p 9001:9001 \
monogramm/docker-etherpad
If you got any questions or problems using the image, please visit our Github Repository and write an issue.