mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-04-23 00:46:16 -04:00
docker: make settings fully configurable via env vars
Now every setting in the official Etherpad container will be configurable via environment variables.
This commit is contained in:
parent
8d39cc4db2
commit
85adaa44d8
2 changed files with 138 additions and 56 deletions
|
@ -52,7 +52,7 @@ And point your browser to `http://<YOUR_IP>:<DESIRED_PORT>`
|
|||
|
||||
## Options available by default
|
||||
|
||||
The `settings.json.docker` available by default enables some configuration to be set from the environment.
|
||||
The `settings.json.docker` available by default allows to control almost every setting via environment variables.
|
||||
|
||||
### General
|
||||
|
||||
|
@ -83,11 +83,72 @@ The `settings.json.docker` available by default enables some configuration to be
|
|||
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
|
||||
|
||||
| Variable | Description | Default |
|
||||
| -------------------------------- | ----------- | ------- |
|
||||
| `PAD_OPTIONS_NO_COLORS` | | `false` |
|
||||
| `PAD_OPTIONS_SHOW_CONTROLS` | | `true` |
|
||||
| `PAD_OPTIONS_SHOW_CHAT` | | `true` |
|
||||
| `PAD_OPTIONS_SHOW_LINE_NUMBERS` | | `true` |
|
||||
| `PAD_OPTIONS_USE_MONOSPACE_FONT` | | `false` |
|
||||
| `PAD_OPTIONS_USER_NAME` | | `false` |
|
||||
| `PAD_OPTIONS_USER_COLOR` | | `false` |
|
||||
| `PAD_OPTIONS_RTL` | | `false` |
|
||||
| `PAD_OPTIONS_ALWAYS_SHOW_CHAT` | | `false` |
|
||||
| `PAD_OPTIONS_CHAT_AND_USERS` | | `false` |
|
||||
| `PAD_OPTIONS_LANG` | | `en-gb` |
|
||||
|
||||
|
||||
### Shortcuts
|
||||
|
||||
| Variable | Description | Default |
|
||||
| ----------------------------------- | ------------------------------------------------ | ------- |
|
||||
| `PAD_SHORTCUTS_ENABLED_ALT_F9` | focus on the File Menu and/or editbar | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_ALT_C` | focus on the Chat window | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_CMD_S` | save a revision | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_CMD_Z` | undo/redo | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_CMD_Y` | redo | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_CMD_I` | italic | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_CMD_B` | bold | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_CMD_U` | underline | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_CMD_H` | backspace | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_CMD_5` | strike through | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_CMD_SHIFT_1` | ordered list | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_CMD_SHIFT_2` | shows a gritter popup showing a line author | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_CMD_SHIFT_L` | unordered list | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_CMD_SHIFT_N` | ordered list | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_CMD_SHIFT_C` | clear authorship | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_DELETE` | | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_RETURN` | | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_ESC` | in mozilla versions 14-19 avoid reconnecting pad | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_TAB` | indent | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_CTRL_HOME` | scroll to top of pad | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_PAGE_UP` | | `true` |
|
||||
| `PAD_SHORTCUTS_ENABLED_PAGE_DOWN` | | `true` |
|
||||
|
||||
|
||||
### Skins
|
||||
|
||||
You can use the UI skin variants builder at `/p/test#skinvariantsbuilder`
|
||||
|
||||
For the colibris skin only, you can choose how to render the three main containers:
|
||||
* toolbar (top menu with icons)
|
||||
* editor (containing the text of the pad)
|
||||
* background (area outside of editor, mostly visible when using page style)
|
||||
|
||||
For each of the 3 containers you can choose 4 color combinations:
|
||||
* super-light
|
||||
* light
|
||||
* dark
|
||||
* super-dark
|
||||
|
||||
For the editor container, you can also make it full width by adding `full-width-editor` variant (by default editor is rendered as a page, with a max-width of 900px).
|
||||
|
||||
| Variable | Description | Default |
|
||||
| --------------- | ------------------------------------------------------------------------------ | --------------------------------------------------------- |
|
||||
| `SKIN_NAME` | either `no-skin`, `colibris` or an existing directory under `src/static/skins` | `colibris` |
|
||||
| `SKIN_VARIANTS` | multiple skin variants separated by spaces | `super-light-toolbar super-light-editor light-background` |
|
||||
|
||||
|
||||
### Logging
|
||||
|
@ -95,6 +156,7 @@ If your database needs additional settings, you will have to use a personalized
|
|||
| Variable | Description | Default |
|
||||
| -------------------- | ---------------------------------------------------- | ------- |
|
||||
| `LOGLEVEL` | valid values are `DEBUG`, `INFO`, `WARN` and `ERROR` | `INFO` |
|
||||
| `DISABLE_IP_LOGGING` | Privacy: disable IP logging | `false` |
|
||||
|
||||
|
||||
### Advanced
|
||||
|
@ -106,6 +168,26 @@ If your database needs additional settings, you will have to use a personalized
|
|||
| `IMPORT_MAX_FILE_SIZE` | maximum allowed file size when importing a pad, in bytes. | `52428800` (50 MB) |
|
||||
| `IMPORT_EXPORT_MAX_REQ_PER_IP` | maximum number of import/export calls per IP. | `10` |
|
||||
| `IMPORT_EXPORT_RATE_LIMIT_WINDOW` | the call rate for import/export requests will be estimated in this time window (in milliseconds) | `90000` |
|
||||
| `SUPPRESS_ERRORS_IN_PAD_TEXT` | Should we suppress errors from being visible in the default Pad Text? | `false` |
|
||||
| `REQUIRE_SESSION` | If this option is enabled, a user must have a session to access pads. This effectively allows only group pads to be accessed. | `false` |
|
||||
| `EDIT_ONLY` | Users may edit pads but not create new ones. Pad creation is only via the API. This applies both to group pads and regular pads. | `false` |
|
||||
| `SESSION_NO_PASSWORD` | If set to true, those users who have a valid session will automatically be granted access to password protected pads. | `false` |
|
||||
| `MINIFY` | If true, all css & js will be minified before sending to the client. This will improve the loading performance massively, but makes it difficult to debug the javascript/css | `true` |
|
||||
| `MAX_AGE` | How long may clients use served javascript code (in seconds)? Not setting this may cause problems during deployment. Set to 0 to disable caching. | `21600` (6 hours) |
|
||||
| `ABIWORD` | Absolute path to the Abiword executable. Abiword is needed to get advanced import/export features of pads. Setting it to null disables Abiword and will only allow plain text and HTML import/exports. | `null` |
|
||||
| `SOFFICE` | This is the absolute path to the soffice executable. LibreOffice can be used in lieu of Abiword to export pads. Setting it to null disables LibreOffice exporting. | `null` |
|
||||
| `TIDY_HTML` | Path to the Tidy executable. Tidy is used to improve the quality of exported pads. Setting it to null disables Tidy. | `null` |
|
||||
| `ALLOW_UNKNOWN_FILE_ENDS` | Allow import of file types other than the supported ones: txt, doc, docx, rtf, odt, html & htm | `true` |
|
||||
| `REQUIRE_AUTHENTICATION` | This setting is used if you require authentication of all users. Note: "/admin" always requires authentication. | `false` |
|
||||
| `REQUIRE_AUTHORIZATION` | Require authorization by a module, or a user with is_admin set, see below. | `false` |
|
||||
| `AUTOMATIC_RECONNECTION_TIMEOUT` | Time (in seconds) to automatically reconnect pad when a "Force reconnect" message is shown to user. Set to 0 to disable automatic reconnection. | `0` |
|
||||
| `FOCUS_LINE_PERCENTAGE_ABOVE` | Percentage of viewport height to be additionally scrolled. e.g. 0.5, to place caret line in the middle of viewport, when user edits a line above of the viewport. Set to 0 to disable extra scrolling | `0` |
|
||||
| `FOCUS_LINE_PERCENTAGE_BELOW` | Percentage of viewport height to be additionally scrolled. e.g. 0.5, to place caret line in the middle of viewport, when user edits a line below of the viewport. Set to 0 to disable extra scrolling | `0` |
|
||||
| `FOCUS_LINE_PERCENTAGE_ARROW_UP` | Percentage of viewport height to be additionally scrolled when user presses arrow up in the line of the top of the viewport. Set to 0 to let the scroll to be handled as default by Etherpad | `0` |
|
||||
| `FOCUS_LINE_DURATION` | Time (in milliseconds) used to animate the scroll transition. Set to 0 to disable animation | `0` |
|
||||
| `FOCUS_LINE_CARET_SCROLL` | Flag to control if it should scroll when user places the caret in the last line of the viewport | `false` |
|
||||
| `LOAD_TEST` | Allow Load Testing tools to hit the Etherpad Instance. WARNING: this will disable security on the instance. | `false` |
|
||||
| `EXPOSE_VERSION` | Expose Etherpad version in the web interface and in the Server http header. Do not enable on production machines. | `false` |
|
||||
|
||||
|
||||
### Examples
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue