Use a unified docker-compose file
This commit is contained in:
parent
370e8dc871
commit
47b7980502
29 changed files with 354 additions and 525 deletions
6
etherpad/Dockerfile
Normal file
6
etherpad/Dockerfile
Normal file
|
@ -0,0 +1,6 @@
|
|||
FROM etherpad/etherpad
|
||||
|
||||
# Change instance settings
|
||||
ENV NODE_ENV=production
|
||||
ENV TRUST_PROXY=true
|
||||
COPY settings.json /opt/etherpad-lite/settings.json
|
|
@ -1,15 +0,0 @@
|
|||
version: "3"
|
||||
|
||||
services:
|
||||
etherpad:
|
||||
image: etherpad/etherpad
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
- POSTGRES_USER=etherpad
|
||||
- "POSTGRES_PASSWORD=${POSTGRES_PASSWD}"
|
||||
- POSTGRES_DB=etherpad
|
||||
ports:
|
||||
- 8084:9001
|
||||
volumes:
|
||||
- ./settings.json:/opt/etherpad-lite/settings.json:ro
|
||||
restart: always
|
|
@ -1 +0,0 @@
|
|||
POSTGRES_PASSWD=asupersecurepassword
|
|
@ -22,6 +22,7 @@
|
|||
*
|
||||
* Would read the configuration values for those items from the environment
|
||||
* variables PORT, MINIFY and SKIN_NAME.
|
||||
*
|
||||
* If PORT and SKIN_NAME variables were not defined, the default values 9001 and
|
||||
* "colibris" would be used. The configuration value "minify", on the other
|
||||
* hand, does not have a default indicated. Thus, if the environment variable
|
||||
|
@ -50,13 +51,13 @@
|
|||
/*
|
||||
* Name your instance!
|
||||
*/
|
||||
"title": "Etherpad",
|
||||
"title": "${TITLE:Etherpad}",
|
||||
|
||||
/*
|
||||
* favicon default name
|
||||
* alternatively, set up a fully specified Url to your own favicon
|
||||
*/
|
||||
"favicon": "favicon.ico",
|
||||
"favicon": "${FAVICON:favicon.ico}",
|
||||
|
||||
/*
|
||||
* Skin name.
|
||||
|
@ -69,20 +70,20 @@
|
|||
* - "colibris": the new experimental skin (since Etherpad 1.8), candidate to
|
||||
* become the default in Etherpad 2.0
|
||||
*/
|
||||
"skinName": "no-skin",
|
||||
"skinName": "${SKIN_NAME:colibris}",
|
||||
|
||||
/*
|
||||
* IP and port which etherpad should bind at
|
||||
*/
|
||||
"ip": "0.0.0.0",
|
||||
"port" : 9001,
|
||||
"ip": "${IP:0.0.0.0}",
|
||||
"port": "${PORT:9001}",
|
||||
|
||||
/*
|
||||
* Option to hide/show the settings.json in admin page.
|
||||
*
|
||||
* Default option is set to true
|
||||
*/
|
||||
"showSettingsInAdminPage" : true,
|
||||
"showSettingsInAdminPage": "${SHOW_SETTINGS_IN_ADMIN_PAGE:true}",
|
||||
|
||||
/*
|
||||
* Node native SSL support
|
||||
|
@ -118,32 +119,14 @@
|
|||
* https://www.npmjs.com/package/ueberdb2
|
||||
*/
|
||||
|
||||
"dbType" : "postgres",
|
||||
"dbSettings" : {
|
||||
"user" : "${POSTGRES_USER}",
|
||||
"host" : "10.128.0.31",
|
||||
"port" : 5432,
|
||||
"password": "${POSTGRES_PASSWORD}",
|
||||
"database": "${POSTGRES_DB}"
|
||||
},
|
||||
|
||||
/*
|
||||
* An Example of MySQL Configuration (commented out).
|
||||
*
|
||||
* See: https://github.com/ether/etherpad-lite/wiki/How-to-use-Etherpad-Lite-with-MySQL
|
||||
*/
|
||||
|
||||
/*
|
||||
"dbType" : "mysql",
|
||||
"dbSettings" : {
|
||||
"user" : "etherpaduser",
|
||||
"host" : "localhost",
|
||||
"port" : 3306,
|
||||
"password": "PASSWORD",
|
||||
"database": "etherpad_lite_db",
|
||||
"charset" : "utf8mb4"
|
||||
},
|
||||
*/
|
||||
"dbType": "postgres",
|
||||
"dbSettings": {
|
||||
"host": "10.128.0.31",
|
||||
"port": 5432,
|
||||
"database": "etherpad",
|
||||
"user": "etherpad",
|
||||
"password": "${POSTGRES_PASSWORD}"
|
||||
},
|
||||
|
||||
/*
|
||||
* The default text of a pad
|
||||
|
@ -156,57 +139,57 @@
|
|||
* Change them if you want to override.
|
||||
*/
|
||||
"padOptions": {
|
||||
"noColors": false,
|
||||
"showControls": true,
|
||||
"showChat": true,
|
||||
"showLineNumbers": true,
|
||||
"noColors": false,
|
||||
"showControls": true,
|
||||
"showChat": true,
|
||||
"showLineNumbers": true,
|
||||
"useMonospaceFont": false,
|
||||
"userName": false,
|
||||
"userColor": false,
|
||||
"rtl": false,
|
||||
"alwaysShowChat": false,
|
||||
"chatAndUsers": false,
|
||||
"lang": "en-gb"
|
||||
"userName": false,
|
||||
"userColor": false,
|
||||
"rtl": false,
|
||||
"alwaysShowChat": false,
|
||||
"chatAndUsers": false,
|
||||
"lang": "en-gb"
|
||||
},
|
||||
|
||||
/*
|
||||
* Pad Shortcut Keys
|
||||
*/
|
||||
"padShortcutEnabled" : {
|
||||
"altF9" : true, /* focus on the File Menu and/or editbar */
|
||||
"altC" : true, /* focus on the Chat window */
|
||||
"cmdShift2" : true, /* shows a gritter popup showing a line author */
|
||||
"delete" : true,
|
||||
"return" : true,
|
||||
"esc" : true, /* in mozilla versions 14-19 avoid reconnecting pad */
|
||||
"cmdS" : true, /* save a revision */
|
||||
"tab" : true, /* indent */
|
||||
"cmdZ" : true, /* undo/redo */
|
||||
"cmdY" : true, /* redo */
|
||||
"cmdI" : true, /* italic */
|
||||
"cmdB" : true, /* bold */
|
||||
"cmdU" : true, /* underline */
|
||||
"cmd5" : true, /* strike through */
|
||||
"cmdShiftL" : true, /* unordered list */
|
||||
"cmdShiftN" : true, /* ordered list */
|
||||
"cmdShift1" : true, /* ordered list */
|
||||
"cmdShiftC" : true, /* clear authorship */
|
||||
"cmdH" : true, /* backspace */
|
||||
"ctrlHome" : true, /* scroll to top of pad */
|
||||
"pageUp" : true,
|
||||
"pageDown" : true
|
||||
"altF9": true, /* focus on the File Menu and/or editbar */
|
||||
"altC": true, /* focus on the Chat window */
|
||||
"cmdShift2": true, /* shows a gritter popup showing a line author */
|
||||
"delete": true,
|
||||
"return": true,
|
||||
"esc": true, /* in mozilla versions 14-19 avoid reconnecting pad */
|
||||
"cmdS": true, /* save a revision */
|
||||
"tab": true, /* indent */
|
||||
"cmdZ": true, /* undo/redo */
|
||||
"cmdY": true, /* redo */
|
||||
"cmdI": true, /* italic */
|
||||
"cmdB": true, /* bold */
|
||||
"cmdU": true, /* underline */
|
||||
"cmd5": true, /* strike through */
|
||||
"cmdShiftL": true, /* unordered list */
|
||||
"cmdShiftN": true, /* ordered list */
|
||||
"cmdShift1": true, /* ordered list */
|
||||
"cmdShiftC": true, /* clear authorship */
|
||||
"cmdH": true, /* backspace */
|
||||
"ctrlHome": true, /* scroll to top of pad */
|
||||
"pageUp": true,
|
||||
"pageDown": true
|
||||
},
|
||||
|
||||
/*
|
||||
* Should we suppress errors from being visible in the default Pad Text?
|
||||
*/
|
||||
"suppressErrorsInPadText" : false,
|
||||
"suppressErrorsInPadText": false,
|
||||
|
||||
/*
|
||||
* If this option is enabled, a user must have a session to access pads.
|
||||
* This effectively allows only group pads to be accessed.
|
||||
*/
|
||||
"requireSession" : false,
|
||||
"requireSession": false,
|
||||
|
||||
/*
|
||||
* Users may edit pads but not create new ones.
|
||||
|
@ -214,13 +197,13 @@
|
|||
* Pad creation is only via the API.
|
||||
* This applies both to group pads and regular pads.
|
||||
*/
|
||||
"editOnly" : false,
|
||||
"editOnly": false,
|
||||
|
||||
/*
|
||||
* If set to true, those users who have a valid session will automatically be
|
||||
* granted access to password protected pads.
|
||||
*/
|
||||
"sessionNoPassword" : false,
|
||||
"sessionNoPassword": false,
|
||||
|
||||
/*
|
||||
* If true, all css & js will be minified before sending to the client.
|
||||
|
@ -228,7 +211,7 @@
|
|||
* This will improve the loading performance massively, but makes it difficult
|
||||
* to debug the javascript/css
|
||||
*/
|
||||
"minify" : true,
|
||||
"minify": true,
|
||||
|
||||
/*
|
||||
* How long may clients use served javascript code (in seconds)?
|
||||
|
@ -236,7 +219,7 @@
|
|||
* Not setting this may cause problems during deployment.
|
||||
* Set to 0 to disable caching.
|
||||
*/
|
||||
"maxAge" : 21600, // 60 * 60 * 6 = 6 hours
|
||||
"maxAge": 21600, // 60 * 60 * 6 = 6 hours
|
||||
|
||||
/*
|
||||
* Absolute path to the Abiword executable.
|
||||
|
@ -245,7 +228,7 @@
|
|||
* it to null disables Abiword and will only allow plain text and HTML
|
||||
* import/exports.
|
||||
*/
|
||||
"abiword" : null,
|
||||
"abiword": null,
|
||||
|
||||
/*
|
||||
* This is the absolute path to the soffice executable.
|
||||
|
@ -253,7 +236,7 @@
|
|||
* LibreOffice can be used in lieu of Abiword to export pads.
|
||||
* Setting it to null disables LibreOffice exporting.
|
||||
*/
|
||||
"soffice" : null,
|
||||
"soffice": null,
|
||||
|
||||
/*
|
||||
* Path to the Tidy executable.
|
||||
|
@ -261,35 +244,41 @@
|
|||
* Tidy is used to improve the quality of exported pads.
|
||||
* Setting it to null disables Tidy.
|
||||
*/
|
||||
"tidyHtml" : null,
|
||||
"tidyHtml": null,
|
||||
|
||||
/*
|
||||
* Allow import of file types other than the supported ones:
|
||||
* txt, doc, docx, rtf, odt, html & htm
|
||||
*/
|
||||
"allowUnknownFileEnds" : true,
|
||||
"allowUnknownFileEnds": true,
|
||||
|
||||
/*
|
||||
* This setting is used if you require authentication of all users.
|
||||
*
|
||||
* Note: "/admin" always requires authentication.
|
||||
*/
|
||||
"requireAuthentication" : false,
|
||||
"requireAuthentication": false,
|
||||
|
||||
/*
|
||||
* Require authorization by a module, or a user with is_admin set, see below.
|
||||
*/
|
||||
"requireAuthorization" : false,
|
||||
"requireAuthorization": false,
|
||||
|
||||
/*
|
||||
* When you use NGINX or another proxy/load-balancer set this to true.
|
||||
*
|
||||
* This is especially necessary when the reverse proxy performs SSL
|
||||
* termination, otherwise the cookies will not have the "secure" flag.
|
||||
*
|
||||
* The other effect will be that the logs will contain the real client's IP,
|
||||
* instead of the reverse proxy's IP.
|
||||
*/
|
||||
"trustProxy" : false,
|
||||
"trustProxy": "${TRUST_PROXY:false}",
|
||||
|
||||
/*
|
||||
* Privacy: disable IP logging
|
||||
*/
|
||||
"disableIPlogging" : false,
|
||||
"disableIPlogging": false,
|
||||
|
||||
/*
|
||||
* Time (in seconds) to automatically reconnect pad when a "Force reconnect"
|
||||
|
@ -297,7 +286,7 @@
|
|||
*
|
||||
* Set to 0 to disable automatic reconnection.
|
||||
*/
|
||||
"automaticReconnectionTimeout" : 0,
|
||||
"automaticReconnectionTimeout": 0,
|
||||
|
||||
/*
|
||||
* By default, when caret is moved out of viewport, it scrolls the minimum
|
||||
|
@ -351,20 +340,20 @@
|
|||
* follow the section "secure your installation" in README.md
|
||||
*/
|
||||
|
||||
/*
|
||||
"users": {
|
||||
"admin": {
|
||||
// "password" can be replaced with "hash" if you install ep_hash_auth
|
||||
"password": "changeme1",
|
||||
// 1) "password" can be replaced with "hash" if you install ep_hash_auth
|
||||
// 2) please note that if password is null, the user will not be created
|
||||
"password": "${ADMIN_PASSWORD}",
|
||||
"is_admin": true
|
||||
},
|
||||
"user": {
|
||||
// "password" can be replaced with "hash" if you install ep_hash_auth
|
||||
"password": "changeme1",
|
||||
// 1) "password" can be replaced with "hash" if you install ep_hash_auth
|
||||
// 2) please note that if password is null, the user will not be created
|
||||
"password": "${USER_PASSWORD}",
|
||||
"is_admin": false
|
||||
}
|
||||
},
|
||||
*/
|
||||
|
||||
/*
|
||||
* Restrict socket.io transport methods
|
||||
|
@ -419,12 +408,12 @@
|
|||
*/
|
||||
"exposeVersion": false,
|
||||
|
||||
/*
|
||||
/*
|
||||
* The log level we are using.
|
||||
*
|
||||
* Valid values: DEBUG, INFO, WARN, ERROR
|
||||
*/
|
||||
"loglevel": "INFO",
|
||||
"loglevel": "${LOGLEVEL:INFO}",
|
||||
|
||||
/*
|
||||
* Logging configuration. See log4js documentation for further information:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue