2019-03-08 01:38:36 +01:00
# Docker image
This directory contains the files that are used to build the official Docker image on https://hub.docker.com/r/etherpad/etherpad.
2019-07-12 02:38:47 +02:00
# Downloading from Docker Hub
If you are ok downloading a [prebuilt image from Docker Hub ](https://hub.docker.com/r/etherpad/etherpad ), these are the commands:
```bash
# gets the latest published version
docker pull etherpad/etherpad
2019-03-08 01:38:36 +01:00
2019-07-12 02:38:47 +02:00
# gets a specific version
docker pull etherpad/etherpad:1.7.5
```
# 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.
2019-03-08 01:38:36 +01:00
2019-07-12 02:38:47 +02:00
## Rebuilding with custom settings
2019-03-08 01:38:36 +01:00
Prepare your custom `settings.json` file:
```bash
cd < BASEDIR > /docker
cp ../settings.json.template settings.json
[ further edit your settings.json as needed]
```
2019-03-21 01:37:19 +01:00
**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` .
2019-03-09 23:01:21 +01:00
2019-07-12 02:32:34 +02:00
## 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 in the `settings.json` file. Just refer to the previous section, and include them in your custom `settings.json` .
2019-07-12 02:38:47 +02:00
## Examples
Build the latest development version:
2019-03-08 01:38:36 +01:00
```bash
docker build --tag < YOUR_USERNAME > /etherpad .
2019-07-12 02:38:47 +02:00
```
2019-03-08 01:38:36 +01:00
2019-07-12 02:38:47 +02:00
Build the latest stable version:
```bash
2019-03-29 10:28:56 +01:00
docker build --build-arg ETHERPAD_VERSION=master --build-arg NODE_ENV=production --tag < YOUR_USERNAME > /etherpad .
2019-07-12 02:38:47 +02:00
```
2019-03-08 01:38:36 +01:00
2019-07-12 02:38:47 +02:00
Build a specific tagged version:
```bash
2019-03-29 10:28:56 +01:00
docker build --build-arg ETHERPAD_VERSION=1.7.5 --build-arg NODE_ENV=production --tag < YOUR_USERNAME > /etherpad .
2019-03-08 01:38:36 +01:00
```
2019-07-12 02:38:47 +02:00
Build a specific git hash:
2019-03-08 01:38:36 +01:00
```bash
2019-07-12 02:38:47 +02:00
docker build --build-arg ETHERPAD_VERSION=4c45ac3cb1ae --tag < YOUR_USERNAME > /etherpad .
2019-03-08 01:38:36 +01:00
```
2019-07-12 02:32:34 +02:00
Include two plugins in the container:
```bash
docker build --build-arg ETHERPAD_PLUGINS="ep_codepad ep_author_neat" --tag < YOUR_USERNAME > /etherpad .
```
2019-03-08 01:38:36 +01:00
# Running your instance:
To run your instance:
```bash
docker run --detach --publish < DESIDERED_PORT > :9001 < YOUR_USERNAME > /etherpad
```
And point your browser to `http://<YOUR_IP>:<DESIDERED_PORT>`