Skip to content

Monogramm/docker-etherpad

Repository files navigation

License: AGPL v3 Docs Build Status Codacy Badge Docker Automated buid Docker Pulls Docker Version Docker Size GitHub stars

Etherpad Docker image

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.

What is Etherpad

Real-time collaborative document editor.

Etherpad

Supported tags

Dockerhub monogramm/docker-etherpad

  • From Etherpad-lite master branch

    • alpine latest
    • debian
  • From Etherpad-lite develop branch

    • develop-alpine develop
    • develop-debian
  • From Etherpad-lite 1.8.4 tag

    • 1.8.4-alpine 1.8.4
    • 1.8.4-debian
  • From Etherpad-lite 1.8.3 tag

    • 1.8.3-alpine 1.8.3
    • 1.8.3-debian
  • From Etherpad-lite 1.8.0 tag

    • 1.8.0-alpine 1.8.0
    • 1.8.0-debian

How to run this image

To run your instance:

docker run --detach --publish <DESIRED_PORT>:9001 monogramm/docker-etherpad

And 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 instance
  • FAVICON: favicon default name, or a fully specified URL to your own favicon
  • SKIN_NAME: either no-skin, colibris or an existing directory under src/static/skins.
  • IP: IP which etherpad should bind at. Change to :: for IPv6
  • PORT: port which etherpad should bind at
  • SHOW_SETTINGS_IN_ADMIN_PAGE: hide/show the settings.json in admin page
  • DB_TYPE: a database supported by https://www.npmjs.com/package/ueberdb2
  • DB_HOST: the host of the database
  • DB_PORT: the port of the database
  • DB_NAME: the database name
  • DB_USER: a database user with sufficient permissions to create tables
  • DB_PASS: the password for the database username
  • DB_CHARSET: the character set for the tables (only required for MySQL)
  • DB_FILENAME: in case DB_TYPE is DirtyDB, the database filename. Default: var/dirty.db
  • ADMIN_PASSWORD: the password for the admin user (leave unspecified if you do not want to create it)
  • USER_PASSWORD: the password for the first user user (leave unspecified if you do not want to create it)
  • TRUST_PROXY: set to true 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 done
  • LOGLEVEL: valid values are DEBUG, INFO, WARN and ERROR
  • LOCALE: default locale
  • REQUIRE_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 enable ldapauth
  • 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 or true (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) or true

ep_piwik options:

  • PIWIK_URL: Matomo / Piwik URL
  • PIWIK_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-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

Questions / Issues

If you got any questions or problems using the image, please visit our Github Repository and write an issue.