Docker

The official Docker image is available on Etherpad Docker link.

Downloading from DockerHub

If you are ok downloading a prebuilt image from Docker Hub, these are the commands:
bash

Build a personalized container

If you want to use a personalized settings file, you will have to rebuild your image. All of the following instructions are as a member of the docker group. By default, the Etherpad Docker image is built and run in production mode: no development dependencies are installed, and asset bundling speeds up page load time.

Rebuilding with custom settings

Edit <BASEDIR/>/settings.json.docker at your will. When rebuilding the image, this file will be copied inside your image and renamed to settings.json. Each configuration parameter can also be set via an environment variable, using the syntax ${ENV_VAR} or ${ENV_VAR:default_value}. For details, refer to settings.json.template.

Rebuilding including some plugins

If you want to install some plugins in your container, it is sufficient to list them in the ETHERPAD_PLUGINS build variable. The variable value has to be a space separated, double quoted list of plugin names (see examples). Some plugins will need personalized settings. Just refer to the previous section, and include them in your custom settings.json.docker.

Rebuilding including export functionality for DOC/PDF/ODT

If you want to be able to export your pads to DOC/PDF/ODT files, you can install either Abiword or Libreoffice via setting a build variable.

Via Abiword

For installing Abiword, set the INSTALL_ABIWORD build variable to any value. Also, you will need to configure the path to the abiword executable via setting the abiword property in <BASEDIR/>/settings.json.docker to /usr/bin/abiword or via setting the environment variable ABIWORD to /usr/bin/abiword.

Via Libreoffice

For installing Libreoffice instead, set the INSTALL_SOFFICE build variable to any value. Also, you will need to configure the path to the libreoffice executable via setting the soffice property in <BASEDIR/>/settings.json.docker to /usr/bin/soffice or via setting the environment variable SOFFICE to /usr/bin/soffice.

Examples

Build a Docker image from the currently checked-out code:

bash

Include two plugins in the container:

bash

Running your instance:

To run your instance:

bash

And point your browser to http://<YOUR_IP>:<DESIRED_PORT>

Options available by default

The settings.json.docker available by default allows to control almost every setting via environment variables.

General

VariableDescriptionDefault
TITLEThe name of the instanceEtherpad
FAVICONfavicon default name, or a fully specified URL to your own faviconfavicon.ico
DEFAULT_PAD_TEXTThe default text of a padWelcome to Etherpad! This pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents! Get involved with Etherpad at https://etherpad.org
IPIP which etherpad should bind at. Change to :: for IPv60.0.0.0
PORTport which etherpad should bind at9001
ADMIN_PASSWORDthe password for the admin user (leave unspecified if you do not want to create it)
USER_PASSWORDthe password for the first user (leave unspecified if you do not want to create it)

Database

VariableDescriptionDefault
DB_TYPEa database supported by https://www.npmjs.com/package/ueberdb2not set, thus will fall back to DirtyDB (please choose one instead)
DB_HOSTthe host of the database
DB_PORTthe port of the database
DB_NAMEthe database name
DB_USERa database user with sufficient permissions to create tables
DB_PASSthe password for the database username
DB_CHARSETthe character set for the tables (only required for MySQL)
DB_FILENAMEin case DB_TYPE is DirtyDB or sqlite, the database file.var/dirty.db, var/etherpad.sq3

If your database needs additional settings, you will have to use a personalized settings.json.docker and rebuild the container (or otherwise put the updated settings.json inside your image).

Pad Options