mirror of
https://github.com/tiredofit/docker-collabora-online.git
synced 2024-06-29 02:30:18 +02:00
Release 2.4.25 - See CHANGELOG.md
This commit is contained in:
parent
102f18ca26
commit
0f436a8b0e
17
CHANGELOG.md
17
CHANGELOG.md
|
@ -1,3 +1,20 @@
|
|||
## 2.4.25 2023-03-23 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Add DeepL Translation Support
|
||||
- Add Zotero Citation Support
|
||||
- Add support for Fonts Missing
|
||||
- Add more options for Language Tool
|
||||
- Add UI option to Group Download As items
|
||||
- Add performance settings for minimum time between saves/uploads
|
||||
- Add PDF Resolution DPI settings
|
||||
|
||||
### Reverted
|
||||
- Remove MEMORY_DATA_LIMIT
|
||||
- Remove LOLEAFLET_HTML
|
||||
- Rework config to be better legible
|
||||
|
||||
|
||||
## 2.4.24 2023-03-23 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
|
|
44
README.md
44
README.md
|
@ -45,7 +45,9 @@ This will build a Docker image for [Collabora Online](https://www.collaboraoffic
|
|||
- [TLS Settings](#tls-settings)
|
||||
- [Performance and Limits](#performance-and-limits)
|
||||
- [Files Quarantine](#files-quarantine)
|
||||
- [DeepL Translation](#deepl-translation)
|
||||
- [Language Tool](#language-tool)
|
||||
- [Zotero](#zotero)
|
||||
- [Cleanup](#cleanup)
|
||||
- [Other Settings](#other-settings)
|
||||
- [Adding Custom Fonts](#adding-custom-fonts)
|
||||
|
@ -134,6 +136,7 @@ Be sure to view the following repositories to understand all the customizable op
|
|||
| `ALLOWED_HOSTS` | Set which domains which can access service Seperate Multiple with `,` - Example: `https://www.example\.org` (no wildcards) | `` |
|
||||
| `EXTRA_OPTIONS` | If you want to pass additional arguments upon startup, add it here | `` |
|
||||
| `INTERFACE` | Web interface type `classic` or `notebookbar` | `notebookbar` |
|
||||
| `GROUP_DOWNLOAD_AS` | Group Download as Icons into dropdown in notebookbar view | `TRUE` |
|
||||
| `WATERMARK_OPACITY` | Watermark Opacity | `0.2` |
|
||||
| `WATERMARK_TEXT` | Text to display for watermark | `` |
|
||||
| `ENABLE_MACROS` | Enable Macros | `FALSE` |
|
||||
|
@ -242,11 +245,12 @@ The image comes with English (US, GB, Canada variants) baked into the image, how
|
|||
| `FILE_SIZE_LIMIT` | The maximum file size allowed to each document process to write | `0` (unlimited) |
|
||||
| `IDLE_SAVE` | The number of idle seconds after which document, if modified, should be saved | `30` |
|
||||
| `IDLE_UNLOAD_TIMEOUT` | The maximum number of seconds before unloading an idle documen | `3600` |
|
||||
| `MIN_TIME_BETWEEN_SAVES` | Minimum number of milliseconds between saving document on disk | `500` |
|
||||
| `MIN_TIME_BETWEEN_UPLOADS` | Minimum number of milliseconds between uploading document to storage | `5000` |
|
||||
| `MAX_CONVERT_LIMIT` | Maximum time in seconds to wait for a convert process to complete | `30` |
|
||||
| `MAX_FILE_LOAD_LIMIT` | Maximum number of seconds to wait for a document load to succeed | `100` |
|
||||
| `MAX_OPEN_FILES` | The maximum number of files allowed to each document process to open | `0` (unlimited) |
|
||||
| `MAX_THREADS_DOCUMENT` | How many threads to use when opening a document | `4` |
|
||||
| `MEMORY_DATA_LIMIT` | The maximum memory data segment allowed to each document process | `0` (unlimited) |
|
||||
| `MEMORY_STACK_LIMIT` | The maximum stack size allowed to each document process | `0` (unlimited) |
|
||||
| `MEMORY_USAGE_MAX` | Maximum percentage of system memory to be used | `80.0` |
|
||||
| `MEMORY_VIRT_LIMIT` | Maximum virtual memory allowed to each document process | `0` |
|
||||
|
@ -263,13 +267,26 @@ The image comes with English (US, GB, Canada variants) baked into the image, how
|
|||
| `FILES_QUARANTINE_PATH` | Relative path for storing files | `quarantine` |
|
||||
| `FILES_QUARANTINE_EXPIRY` | Files expiry in minutes | `30` |
|
||||
|
||||
#### DeepL Translation
|
||||
| Parameter | Description | Default |
|
||||
| ----------------------------- | ------------------------------------------------------------------------ | ------- |
|
||||
| `ENABLE_DEEPL` | Enable DeepL Translation Support | `FALSE` |
|
||||
| `DEEPL_API_URL` | DeepL API URL | `` |
|
||||
| `DEEPL_AUTH_KEY` | DeepL Auth Key | `` |
|
||||
#### Language Tool
|
||||
| Parameter | Description | Default |
|
||||
| ------------------------- | -------------------------------------------------- | ------- |
|
||||
| `ENABLE_LANGUAGE_TOOL` | Enable Language Tool Grammar checking integration | `FALSE` |
|
||||
| `LANGUAGE_TOOL_BASE_URL` | Base URL for Language Tool | |
|
||||
| `LANGUAGE_TOOL_USER_NAME` | Language Tool User Name | |
|
||||
| `LANGUAGE_TOOL_API_KEY` | Language Tool provided API Key | |
|
||||
| Parameter | Description | Default |
|
||||
| ----------------------------- | ------------------------------------------------------------------------ | ------- |
|
||||
| `ENABLE_LANGUAGE_TOOL` | Enable Language Tool Grammar checking integration | `FALSE` |
|
||||
| `LANGUAGE_TOOL_BASE_URL` | Base URL for Language Tool | |
|
||||
| `LANGUAGE_TOOL_USER_NAME` | Language Tool User Name | |
|
||||
| `LANGUAGE_TOOL_API_KEY` | Language Tool provided API Key | |
|
||||
| `LANGUAGE_TOOL_REST_PROTOCOL` | REST protocol. blank for Language Tool `duden` for Duden Korrekturserver | |
|
||||
| `LANGUAGE_TOOL_SSL_VERIFY` | SSL Verify | `TRUE` |
|
||||
|
||||
#### Zotero
|
||||
| Parameter | Description | Default |
|
||||
| ----------------------------- | ------------------------------------------------------------------------ | ------- |
|
||||
| `ENABLE_ZOTERO` | Enable Zotero Citations | `TRUE` |
|
||||
|
||||
#### Cleanup
|
||||
| Parameter | Description | Default |
|
||||
|
@ -291,14 +308,14 @@ The image comes with English (US, GB, Canada variants) baked into the image, how
|
|||
| `ENABLE_EXPERIMENTAL_FEATURES` | Enable experimental features | `FALSE` |
|
||||
| `ENABLE_MOUNT_JAIL` | Enable mounting jails | `true` |
|
||||
| `ENABLE_SECCOMP` | Enable Seccomp | `TRUE` |
|
||||
| `ENABLE_WEBDAV` | Enable WebDav Storage | `FALSE` |
|
||||
| `FILE_SERVER_ROOT_PATH` | Path to directory considered as root | `browser/../` |
|
||||
| `FRAME_ANCESTORS` | Hosts where interface can be hosted in Iframe | `` |
|
||||
| `HEXIFY_EMBEDDED_URLS` | Hexify Embedded URLS (useful for Azure deployments) | `FALSE` |
|
||||
| `LOLEAFLET_HTML` | Name of browser.html to use | `loleafet.html` |
|
||||
| `INDIRECTION_ENDPOINT` | URL endpoint to server which zervers routeToken in json format | |
|
||||
| `NETWORK_PROTOCOL` | Network Protocol `ipv4` `ipv6` `all` | `ipv4` |
|
||||
| `PDF_RESOLUTION_DPI` | PDF Resolution DPI when rendering PDF documents as image | `96` |
|
||||
| `REDLINING_AS_COMMENTS` | Show red-lines as comments | `false` |
|
||||
| `REMOTE_FONT_URL` | URL to json font lists to load | |
|
||||
| `REMOTE_URL` | Remote server to send request to get remote config | |
|
||||
| `SYS_TEMPLATE_PATH` | System Template Path | `systemplate` |
|
||||
| `USE_INTEGRATOR_THEME` | Use the remote integrators theme | `TRUE` |
|
||||
| `VERSION_SUFFIX` | Append this value onto version to break cache when developing. Generates random uuid when using value of `random` | |
|
||||
|
@ -307,6 +324,13 @@ The image comes with English (US, GB, Canada variants) baked into the image, how
|
|||
#### Adding Custom Fonts
|
||||
This image comes with some highly opninionated default fonts by the LibreOffice team, and also includes the Microsoft TTF fonts from the late 90s. To add custom fonts into this image, cxport a volume and place them in `/assets/custom-fonts` and they will be inserted upon next container restart.
|
||||
|
||||
You can also configure this inside the container with a compatible application.
|
||||
|
||||
| Parameter | Description | Default |
|
||||
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------- | --------------- |
|
||||
| `REMOTE_FONT_URL` | URL to json font lists to load | |
|
||||
| `FONTS_MISSING_ACTION` | How to handle fonts missing in a document `report` `log` `both` `ignore` | `log` |
|
||||
|
||||
### Networking
|
||||
|
||||
The following ports are exposed.
|
||||
|
|
|
@ -11,10 +11,13 @@ CLEANUP_INTERVAL=${CLEANUP_INTERVAL:-"10000"}
|
|||
CLEANUP_LIMIT_CPU_PER=${CLEANUP_LIMIT_CPU_PER:-85}
|
||||
CLEANUP_LIMIT_DIRTY_MEMORY=${CLEANUP_LIMIT_DIRTY_MEMORY:-3072}
|
||||
CONNECTION_TIMEOUT=${CONNECTION_TIMEOUT:-30}
|
||||
DEEPL_API_URL=${DEEPL_API_URL:-""}
|
||||
DEEPL_AUTH_KEY=${DEEPL_AUTH_KEY:-""}
|
||||
ENABLE_ADMIN_CONSOLE=${ENABLE_ADMIN_CONSOLE:-"TRUE"}
|
||||
ENABLE_CAPABILITIES=${ENABLE_CAPABILITIES:-"true"}
|
||||
ENABLE_CLEANUP=${ENABLE_CLEANUP:-"false"}
|
||||
ENABLE_CONFIG_RELOAD=${ENABLE_CONFIG_RELOAD:-"TRUE"}
|
||||
ENABLE_DEEPL=${ENABLE_DEEPL:-"FALSE"}
|
||||
ENABLE_DOCUMENT_STATISTICS=${ENABLE_DOCUMENT_STATISTICS:-"FALSE"}
|
||||
ENABLE_EXPERIMENTAL_FEATURES=${ENABLE_EXPERIMENTAL_FEATURES:-"false"}
|
||||
ENABLE_FILES_QUARANTINE=${ENABLE_FILES_QUARANTINE:-"FALSE"}
|
||||
|
@ -29,21 +32,26 @@ ENABLE_TLS=${ENABLE_TLS:-"FALSE"}
|
|||
ENABLE_TLS_CERT_GENERATE=${ENABLE_TLS_CERT_GENERATE:-"TRUE"}
|
||||
ENABLE_TLS_REVERSE_PROXY=${ENABLE_TLS_REVERSE_PROXY:-"TRUE"}
|
||||
ENABLE_USER_STATISTICS=${ENABLE_USER_STATISTICS:-"FALSE"}
|
||||
ENABLE_WEBDAV=${ENABLE_WEBDAV:-"FALSE"}
|
||||
ENABLE_ZOTERO=${ENABLE_ZOTERO:-"TRUE"}
|
||||
FILES_QUARANTINE_DIRECTORY_SIZE_LIMIT=${FILES_QUARANTINE_DIRECTORY_SIZE_LIMIT:-"250"}
|
||||
FILES_QUARANTINE_EXPIRY=${FILES_QUARANTINE_EXPIRY:-"30"}
|
||||
FILES_QUARANTINE_MAX_VERSIONS=${FILES_QUARANTINE_MAX_VERSIONS:-"2"}
|
||||
FILES_QUARANTINE_PATH=${FILES_QUARANTINE_PATH:-"quarantine"}
|
||||
FILE_SERVER_ROOT_PATH=${FILE_SERVER_ROOT_PATH:-"browser/../"}
|
||||
FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-0}
|
||||
FONTS_MISSING_ACTION=${FONTS_MISSING_ACTION:-"log"}
|
||||
GROUP_DOWNLOAD_AS=${GROUP_DOWNLOAD_AS:-"TRUE"}
|
||||
HEXIFY_EMBEDDED_URLS=${HEXIFY_EMBEDDED_URLS:-"FALSE"}
|
||||
IDLE_SAVE=${IDLE_SAVE:-30}
|
||||
IDLE_UNLOAD_TIMEOUT=${IDLE_UNLOAD_TIMEOUT:-3600}
|
||||
INDIRECTION_ENDPOINT=${INDIRECTION_ENDPOINT:-""}
|
||||
INTERFACE=${INTERFACE:-"notebookbar"}
|
||||
LANGUAGE=${LANGUAGE:-'en_GB en_US'}
|
||||
LANGUAGE_TOOL_API_KEY=${LANGUAGE_TOOL_API_KEY:-""}
|
||||
LANGUAGE_TOOL_BASE_URL=${LANGUAGE_TOOL_BASE_URL:-""}
|
||||
LANGUAGE_TOOL_USER_NAME=${LANGUAGE_TOOL_USER_NAME:-""}
|
||||
LANGUAGE_TOOL_REST_PROTOCOL=${LANGUAGE_TOOL_REST_PROTOCOL:-""}
|
||||
LANGUAGE_TOOL_SSL_VERIFY=${LANGUAGE_TOOL_SSL_VERIFY:-"TRUE"}
|
||||
LOG_ANONYMIZE=${LOG_ANONYMIZE:-"FALSE"}
|
||||
LOG_ANONYMIZE_SALT=${LOG_ANONYMIZE_SALT:-"$(date +%s%N | cut -b12-19)"}
|
||||
LOG_CLIENT_CONSOLE=${LOG_CLIENT_CONSOLE:-"false"}
|
||||
|
@ -56,18 +64,19 @@ LOG_LEVEL_CLIENT_MOST_VERBOSE=${LOG_LEVEL_CLIENT_MOST_VERBOSE:-"NOTICE"}
|
|||
LOG_LIBREOFFICE=${LOG_LIBREOFFICE:-"-INFO-WARN"}
|
||||
LOG_PATH=${LOG_PATH:-"/logs/"}
|
||||
LOG_TYPE=${LOG_TYPE:-"CONSOLE"}
|
||||
LOLEAFLET_HTML=${LOLEAFLET_HTML:-"browser.html"}
|
||||
MACRO_SECURITY_LEVEL=${MACRO_SECURITY_LEVEL:-"1"}
|
||||
MAX_CONVERT_LIMIT=${MAX_CONVERT_LIMIT:-100}
|
||||
MAX_FILE_LOAD_LIMIT=${MAX_FILE_LOAD_LIMIT:-100}
|
||||
MAX_OPEN_FILES=${MAX_OPEN_FILES:-0}
|
||||
MAX_THREADS_DOCUMENT=${MAX_THREADS_DOCUMENT:-4}
|
||||
MEMORY_DATA_LIMIT=${MEMORY_DATA_LIMIT:-0}
|
||||
MIN_TIME_BETWEEN_SAVES=${MIN_TIME_BETWEEN_SAVES:-"500"}
|
||||
MIN_TIME_BETWEEN_UPLOADS=${MIN_TIME_BETWEEN_UPLOADS:-"5000"}
|
||||
MEMORY_STACK_LIMIT=${MEMORY_STACK_LIMIT:-8000}
|
||||
MEMORY_USAGE_MAX=${MEMORY_USAGE_MAX:-"80.0"}
|
||||
MEMORY_VIRT_LIMIT=${MEMORY_VIRT_LIMIT:-0}
|
||||
NETWORK_PROTOCOL=${NETWORK_PROTOCOL:-"ipv4"}
|
||||
PATH_PREFIX=${PATH_PREFIX:-"/opt/cool/"}
|
||||
PDF_RESOLUTION_DPI=${PDF_RESOLUTION_DPI:-"96"}
|
||||
PRESPAWN_CHILD_PROCESSES=${PRESPAWN_CHILD_PROCESSES:-1}
|
||||
REDLINING_AS_COMMENTS=${REDLINING_AS_COMMENTS:-"false"}
|
||||
REMOTE_FONT_URL=${REMOTE_FONT_URL:-""}
|
||||
|
|
|
@ -117,82 +117,123 @@ if [ "${SETUP_TYPE,,}" = "auto" ]; then
|
|||
print_notice "Autogenerating Configuration File"
|
||||
### Replace Configuration directives
|
||||
sed -i -e "s|<allowed_languages \(.*\)>.*</allowed_languages>|<allowed_languages \1>${LANGUAGE}</allowed_languages>|g" /etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Language Tool
|
||||
sed -i \
|
||||
-e "s|<enabled desc=\"Enable Remote Spell and Grammar Checker\"\(.*\)>.*</enabled>|<enabled desc=\"Enable Remote Spell and Grammar Checker\"\1>${ENABLE_LANGUAGE_TOOL,,}</enabled>|g" \
|
||||
-e "s|<base_url desc=\"Http endpoint for the API server\(.*\)>.*<\/base_url>|<base_url desc=\"Http endpointfor the API server\1>${LANGUAGE_TOOL_BASE_URL}<\/base_url>|" \
|
||||
-e "s|<user_name desc=\"Lan\(.*\)>.*<\/user_name>|<user_name desc=\"Lan\1>${LANGUAGE_TOOL_USER_NAME}<\/user_name>|" \
|
||||
-e "s|<api_key desc=\"API key provided by Lan\(.*\)>.*<\/api_key>|<api_key desc=\"API key provided by Lan\1>${LANGUAGE_TOOL_API_KEY}<\/api_key>|" \
|
||||
-e "s|<ssl_verification desc=\"Enable or disable SSL\(.*\)>.*<\/ssl_verification>|<ssl_verification desc=\"Enable or disable SSL\1>${LANGUAGE_TOOL_SSL_VERIFY,,}<\/ssl_verification>|" \
|
||||
-e "s|<rest_protocol desc=\"REST API protocol\(.*\)>.*<\/rest_protocol>|<rest_protocol desc=\"REST API protocol\1>${LANGUAGE_TOOL_REST_PROTOCOL,,}<\/rest_protocol>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
||||
## DeepL
|
||||
sed -i \
|
||||
-e "s|<enabled desc=\"If true, shows translate option as a menu\(.*\)>.*</enabled>|<enabled desc=\"If true, shows translate option as a menu\1>${ENABLE_DEEPL,,}</enabled>|g" \
|
||||
-e "s|<api_url desc=\"URL for the API\"(.*\)>.*<\/api_url>|<api_url desc=\"URL for the API\"\1>${DEEPL_API_URL}<\/api_url>|" \
|
||||
-e "s|<auth_key desc=\"Auth Key generated by your account\"(.*\)>.*<\/auth_key>|<auth_key desc="Auth Key generated by your account"\1>${DEEPL_AUTH_KEY}<\/auth_key>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
||||
|
||||
sed -i -e "s|<sys_template_path \(.*\)>.*</sys_template_path>|<sys_template_path \1>${SYS_TEMPLATE_PATH}</sys_template_path>|g" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<child_root_path \(.*\)>.*</child_root_path>|<child_root_path \1>${CHILD_ROOT_PATH}</child_root_path>|g" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<mount_jail_tree \(.*\)>.*</mount_jail_tree>|<mount_jail_tree \1>${ENABLE_MOUNT_JAIL,,}</mount_jail_tree>|g" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<server_name \(.*\)>.*</server_name>|<server_name \1>${HOSTNAME}</server_name>|g" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<file_server_root_path \(.*\)>.*</file_server_root_path>|<file_server_root_path \1>${FILE_SERVER_ROOT_PATH}</file_server_root_path>|g" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<memproportion \(.*\)>.*</memproportion>|<memproportion \1>${MEMORY_USAGE_MAX}</memproportion>|g" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<num_prespawn_children \(.*\)>.*</num_prespawn_children>|<num_prespawn_children \1>${PRESPAWN_CHILD_PROCESSES}</num_prespawn_children>|g" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<max_concurrency \(.*\)>.*<\/max_concurrency>|<max_concurrency \1>${MAX_THREADS_DOCUMENT}<\/max_concurrency>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<batch_priority \(.*\)>.*<\/batch_priority>|<batch_priority \1>${BATCH_PRIORITY}<\/batch_priority>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<document_signing_url \(.*\)>.*<\/document_signing_url>|<document_signing_url \1>${DOCUMENT_SIGNING_URL}<\/document_signing_url>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<redlining_as_comments \(.*\)>.*<\/redlining_as_comments>|<redlining_as_comments \1>${REDLINING_AS_COMMENTS}<\/redlining_as_comments>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<idle_timeout_secs \(.*\)>.*<\/idle_timeout_secs>|<idle_timeout_secs \1>${IDLE_UNLOAD_TIMEOUT}<\/idle_timeout_secs>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<idlesave_duration_secs \(.*\)>.*<\/idlesave_duration_secs>|<idlesave_duration_secs \1>${IDLE_SAVE}<\/idlesave_duration_secs>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<autosave_duration_secs \(.*\)>.*<\/autosave_duration_secs>|<autosave_duration_secs \1>${AUTO_SAVE}<\/autosave_duration_secs>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<always_save_on_exit \(.*\)>.*<\/always_save_on_exit>|<always_save_on_exit \1>${ALWAYS_SAVE_ON_EXIT}<\/always_save_on_exit>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<limit_virt_mem_mb \(.*\)>.*<\/limit_virt_mem_mb>|<limit_virt_mem_mb \1>${MEMORY_VIRT_LIMIT}<\/limit_virt_mem_mb>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<limit_stack_mem_kb \(.*\)>.*<\/limit_stack_mem_kb>|<limit_stack_mem_kb \1>${MEMORY_STACK_LIMIT}<\/limit_stack_mem_kb>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<limit_file_size_mb \(.*\)>.*<\/limit_file_size_mb>|<limit_file_size_mb \1>${FILE_SIZE_LIMIT}<\/limit_file_size_mb>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<limit_num_open_files \(.*\)>.*<\/limit_num_open_files>|<limit_num_open_files \1>${MAX_OPEN_FILES}<\/limit_num_open_files>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<limit_load_secs \(.*\)>.*<\/limit_load_secs>|<limit_load_secs \1>${MAX_FILE_LOAD_LIMIT}<\/limit_load_secs>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<limit_convert_secs \(.*\)>.*<\/limit_convert_secs>|<limit_convert_secs \1>${MAX_CONVERT_LIMIT}<\/limit_convert_secs>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<cleanup desc=\(.*\)>.*>|<cleanup desc=\1>${ENABLE_CLEANUP},,>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<cleanup_interval_ms \(.*\)>.*<\/cleanup_interval_ms>|<cleanup_interval_ms \1>${CLEANUP_INTERVAL}<\/cleanup_interval_ms>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<bad_behavior_period_secs \(.*\)>.*<\/bad_behavior_period_secs>|<bad_behavior_period_secs \1>${CLEANUP_BAD_BEHAVIOUR_TIME}<\/bad_behavior_period_secs>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<idle_time_secs \(.*\)>.*<\/<idle_time_secs>|<<idle_time_secs \1>${CLEANUP_IDLE_TIME}<\/<idle_time_secs>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<limit_dirty_mem_mb \(.*\)>.*<\/limit_dirty_mem_mb>|<limit_dirty_mem_mb \1>${CLEANUP_LIMIT_DIRTY_MEMORY}<\/limit_dirty_mem_mb>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<limit_cpu_per \(.*\)>.*<\/limit_cpu_per>|<limit_cpu_per \1>${CLEANUP_LIMIT_CPU_PER}<\/limit_cpu_per>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<out_of_focus_timeout_secs \(.*\)>.*<\/out_of_focus_timeout_secs>|<out_of_focus_timeout_secs \1>${USER_OUT_OF_FOCUS_TIMEOUT}<\/out_of_focus_timeout_secs>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<idle_timeout_secs \(.*\)>.*<\/idle_timeout_secs>|<idle_timeout_secs \1>${USER_IDLE_TIMEOUT}<\/idle_timeout_secs>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<browser_html \(.*\)>.*<\/browser_html>|<browser_html \1>${LOLEAFLET_HTML}<\/browser_html>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<color \(.*\)>.*<\/color>|<color \1>${LOG_COLOURIZE}<\/color>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<level \(.*\)>.*<\/level>|<level \1>${LOG_LEVEL,,}<\/level>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<protocol \(.*\)>.*<\/protocol>|<protocol \1>${LOG_CLIENT_CONSOLE}<\/protocol>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<lokit_sal_log \(.*\)>.*<\/lokit_sal_log>|<lokit_sal_log \1>${LOG_LIBREOFFICE}<\/lokit_sal_log>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<browser_logging \(.*\)>.*<\/browser_logging>|<browser_logging \1>${LOG_CLIENT_CONSOLE}<\/browser_logging>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<proto \(.*\)>.*<\/proto>|<proto \1>${NETWORK_PROTOCOL}<\/proto>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<frame_ancestors \(.*\)>.*<\/frame_ancestors>|<frame_ancestors \1>${FRAME_ANCESTORS}<\/frame_ancestors>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<connection_timeout \(.*\)>.*<\/connection_timeout>|<connection_timeout \1>${CONNECTION_TIMEOUT}<\/connection_timeout>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<ca_file_path \(.*\) relative=\"false\">.*<\/ca_file_path>|<ca_file_path \1 relative=\"false\">${TLS_CERT_PATH}/${TLS_CA_FILENAME}<\/ca_file_path>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<cert_file_path \(.*\) relative=\"false\">.*<\/cert_file_path>|<cert_file_path \1 relative=\"false\">${TLS_CERT_PATH}/${TLS_CERT_FILENAME}<\/cert_file_path>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<key_file_path \(.*\) relative=\"false\">.*<\/key_file_path>|<key_file_path \1 relative=\"false\">${TLS_CERT_PATH}/${TLS_KEY_FILENAME}<\/key_file_path>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<seccomp \(.*\)>.*<\/seccomp>|<seccomp \1>${ENABLE_SECCOMP,,}<\/seccomp>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<capabilities \(.*\)>.*<\/capabilities>|<capabilities \1>${ENABLE_CAPABILITIES,,}<\/capabilities>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<jwt_expiry_secs \(.*\)>.*<\/jwt_expiry_secs>|<jwt_expiry_secs \1>${ADMIN_JWT_EXPIRY}<\/jwt_expiry_secs>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<enable_macros_execution \(.*\)>.*<\/enable_macros_execution>|<enable_macros_execution \1>${ENABLE_MACROS,,}<\/enable_macros_execution>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<macro_security_level \(.*\)>.*<\/macro_security_level>|<macro_security_level \1>${MACRO_SECURITY_LEVEL}<\/macro_security_level>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<enable_metrics_unauthenticated \(.*\)>.*<\/enable_metrics_unauthenticated>|<enable_metrics_unauthenticated \1>${ENABLE_METRICS_UNAUTHENTICATED}<\/enable_metrics_unauthenticated>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<opacity \(.*\)>.*<\/opacity>|<opacity \1>${WATERMARK_OPACITY}<\/opacity>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<text \(.*\)>.*<\/text>|<text \1>${WATERMARK_TEXT}<\/text>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<mode \(.*\)>.*<\/mode>|<mode \1>${INTERFACE}<\/mode>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<webdav desc=\(.*\) allow=\".*\">|<webdav desc=\1 allow=\"${ENABLE_WEBDAV,,}\">|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<enable desc=\(.*\)>.*<\/enable>|<enable desc=\1>${ENABLE_ADMIN_CONSOLE,,}<\/enable>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<username \(.*\)>.*<\/username>|<username \1>${ADMIN_USER}<\/username>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<password \(.*\)>.*<\/password>|<password \1>${ADMIN_PASS}<\/password>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<limit_data_mem_kb \(.*\)>.*<\/limit_data_mem_kb>|<limit_data_mem_kb \1>${MEMORY_DATA_LIMIT}<\/limit_data_mem_kb>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<enabled desc=\"Enable Language Tool\(.*\)>.*<\/enable>|<enable desc=\"Enable Language Tool\1>${ENABLE_LANGUAGE_TOOL,,}<\/enable>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<base_url desc=\"Http endpoint\(.*\)>.*<\/base_url>|<base_url desc=\"Http endpoint\1>${LANGUAGE_TOOL_BASE_URL}<\/base_url>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<user_name desc=\"Lan\(.*\)>.*<\/user_name>|<user_name desc=\"Lan\1>${LANGUAGE_TOOL_USER_NAME}<\/user_name>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<api_key desc=\"Api\(.*\)>.*<\/api_key>|<api_key desc=\"Api\1>${LANGUAGE_TOOL_API_KEY}<\/api_key>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<hexify_embedded_urls \(.*\)>.*<\/hexify_embedded_urls>|<hexify_embedded_urls \1>${HEXIFY_EMBEDDED_URLS,,}<\/hexify_embedded_urls>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<experimental_features \(.*\)>.*<\/experimental_features>|<experimental_features \1>${ENABLE_EXPERIMENTAL_FEATURES,,}<\/experimental_features>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<experimental_features \(.*\)>.*<\/experimental_features>|<experimental_features \1>${ENABLE_EXPERIMENTAL_FEATURES,,}<\/experimental_features>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<memproportion \(.*\)>.*</memproportion>|<memproportion \1>${MEMORY_USAGE_MAX}</memproportion>|g" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<num_prespawn_children \(.*\)>.*</num_prespawn_children>|<num_prespawn_children \1>${PRESPAWN_CHILD_PROCESSES}</num_prespawn_children>|g" /etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Per Document
|
||||
sed -i \
|
||||
-e "s|<max_concurrency \(.*\)>.*<\/max_concurrency>|<max_concurrency \1>${MAX_THREADS_DOCUMENT}<\/max_concurrency>|" \
|
||||
-e "s|<batch_priority \(.*\)>.*<\/batch_priority>|<batch_priority \1>${BATCH_PRIORITY}<\/batch_priority>|" \
|
||||
-e "s|<document_signing_url \(.*\)>.*<\/document_signing_url>|<document_signing_url \1>${DOCUMENT_SIGNING_URL}<\/document_signing_url>|" \
|
||||
-e "s|<redlining_as_comments \(.*\)>.*<\/redlining_as_comments>|<redlining_as_comments \1>${REDLINING_AS_COMMENTS}<\/redlining_as_comments>|" \
|
||||
-e "s|<pdf_resolution_dpi \(.*\)>.*<\/pdf_resolution_dpi>|<pdf_resolution_dpi \1>${PDF_RESOLUTION_DPI}<\/pdf_resolution_dpi>|" \
|
||||
-e "s|<idle_timeout_secs \(.*\)>.*<\/idle_timeout_secs>|<idle_timeout_secs \1>${IDLE_UNLOAD_TIMEOUT}<\/idle_timeout_secs>|" \
|
||||
-e "s|<idlesave_duration_secs \(.*\)>.*<\/idlesave_duration_secs>|<idlesave_duration_secs \1>${IDLE_SAVE}<\/idlesave_duration_secs>|" \
|
||||
-e "s|<autosave_duration_secs \(.*\)>.*<\/autosave_duration_secs>|<autosave_duration_secs \1>${AUTO_SAVE}<\/autosave_duration_secs>|" \
|
||||
-e "s|<always_save_on_exit \(.*\)>.*<\/always_save_on_exit>|<always_save_on_exit \1>${ALWAYS_SAVE_ON_EXIT}<\/always_save_on_exit>|" \
|
||||
-e "s|<limit_virt_mem_mb \(.*\)>.*<\/limit_virt_mem_mb>|<limit_virt_mem_mb \1>${MEMORY_VIRT_LIMIT}<\/limit_virt_mem_mb>|" \
|
||||
-e "s|<limit_stack_mem_kb \(.*\)>.*<\/limit_stack_mem_kb>|<limit_stack_mem_kb \1>${MEMORY_STACK_LIMIT}<\/limit_stack_mem_kb>|" \
|
||||
-e "s|<limit_file_size_mb \(.*\)>.*<\/limit_file_size_mb>|<limit_file_size_mb \1>${FILE_SIZE_LIMIT}<\/limit_file_size_mb>|" \
|
||||
-e "s|<limit_num_open_files \(.*\)>.*<\/limit_num_open_files>|<limit_num_open_files \1>${MAX_OPEN_FILES}<\/limit_num_open_files>|" \
|
||||
-e "s|<limit_load_secs \(.*\)>.*<\/limit_load_secs>|<limit_load_secs \1>${MAX_FILE_LOAD_LIMIT}<\/limit_load_secs>|" \
|
||||
-e "s|<limit_convert_secs \(.*\)>.*<\/limit_convert_secs>|<limit_convert_secs \1>${MAX_CONVERT_LIMIT}<\/limit_convert_secs>|" \
|
||||
-e "s|<min_time_between_saves_ms \(.*\)>.*<\/min_time_between_saves_ms>|<min_time_between_saves_ms \1>${MIN_TIME_BETWEEN_SAVES}<\/min_time_between_saves_ms>|" \
|
||||
-e "s|<min_time_between_uploads_ms \(.*\)>.*<\/min_time_between_uploads_ms>|<min_time_between_uplods_ms \1>${MIN_TIME_BETWEEN_UPLOADS}<\/min_time_between_uploads_ms>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Cleanup
|
||||
sed -i \
|
||||
-e "s|<cleanup desc=\(.*\)>.*>|<cleanup desc=\1>${ENABLE_CLEANUP},,>|" \
|
||||
-e "s|<cleanup_interval_ms \(.*\)>.*<\/cleanup_interval_ms>|<cleanup_interval_ms \1>${CLEANUP_INTERVAL}<\/cleanup_interval_ms>|" \
|
||||
-e "s|<bad_behavior_period_secs \(.*\)>.*<\/bad_behavior_period_secs>|<bad_behavior_period_secs \1>${CLEANUP_BAD_BEHAVIOUR_TIME}<\/bad_behavior_period_secs>|" \
|
||||
-e "s|<idle_time_secs \(.*\)>.*<\/<idle_time_secs>|<<idle_time_secs \1>${CLEANUP_IDLE_TIME}<\/<idle_time_secs>|" \
|
||||
-e "s|<limit_dirty_mem_mb \(.*\)>.*<\/limit_dirty_mem_mb>|<limit_dirty_mem_mb \1>${CLEANUP_LIMIT_DIRTY_MEMORY}<\/limit_dirty_mem_mb>|" \
|
||||
-e "s|<limit_cpu_per \(.*\)>.*<\/limit_cpu_per>|<limit_cpu_per \1>${CLEANUP_LIMIT_CPU_PER}<\/limit_cpu_per>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Per View Settings
|
||||
sed -i \
|
||||
-e "s|<group_download_as \(.*\)>.*<\/group_download_as>|<group_download_as \1>${GROUP_DOWNLOAD_AS}<\/group_download_as>|" \
|
||||
-e "s|<out_of_focus_timeout_secs \(.*\)>.*<\/out_of_focus_timeout_secs>|<out_of_focus_timeout_secs \1>${USER_OUT_OF_FOCUS_TIMEOUT}<\/out_of_focus_timeout_secs>|" \
|
||||
-e "s|<idle_timeout_secs \(.*\)>.*<\/idle_timeout_secs>|<idle_timeout_secs \1>${USER_IDLE_TIMEOUT}<\/idle_timeout_secs>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
||||
sed -i -e "s|<ver_suffix \(.*\)>.*<\/ver_suffix>|<ver_suffix \1>${VERSION_SUFFIX}<\/ver_suffix>|" /etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Logging
|
||||
sed -i \
|
||||
-e "s|<color \(.*\)>.*<\/color>|<color \1>${LOG_COLOURIZE}<\/color>|" \
|
||||
-e "s|<level \(.*\)>.*<\/level>|<level \1>${LOG_LEVEL,,}<\/level>|" \
|
||||
-e "s|<protocol \(.*\)>.*<\/protocol>|<protocol \1>${LOG_CLIENT_CONSOLE}<\/protocol>|" \
|
||||
-e "s|<lokit_sal_log \(.*\)>.*<\/lokit_sal_log>|<lokit_sal_log \1>${LOG_LIBREOFFICE}<\/lokit_sal_log>|" \
|
||||
-e "s|<browser_logging \(.*\)>.*<\/browser_logging>|<browser_logging \1>${LOG_CLIENT_CONSOLE}<\/browser_logging>|" \
|
||||
-e "s|<protocol \(.*\)>.*<\/protocol>|<protocol \1>${NETWORK_PROTOCOL}<\/protocol>|" \
|
||||
-e "s|<most_verbose_level_settable_from_client \(.*\)>.*<\/most_verbose_level_settable_from_client>|<most_verbose_level_settable_from_client \1>${LOG_LEVEL_CLIENT_MOST_VERBOSE}<\/most_verbose_level_settable_from_client>|" \
|
||||
-e "s|<least_verbose_level_settable_from_client \(.*\)>.*<\/least_verbose_level_settable_from_client>|<least_verbose_level_settable_from_client \1>${LOG_LEVEL_CLIENT_LEAST_VERBOSE}<\/least_verbose_level_settable_from_client>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
||||
if [ "${LOG_TYPE,,}" = "file" ]; then
|
||||
sed -i \
|
||||
-e "s|<file enable=\"false\"|<file enable=\"true\"|" \
|
||||
-e "s|<property name=\"path\"\(.*\)>.*<\/property>|<property name=\"path\" \1>${LOG_PATH}/${LOG_FILE}<\/property>|" \
|
||||
-e "s|<property name=\"flush\"\(.*\)>.*<\/property>|<property name=\"flush\" \1>${LOG_FILE_FLUSH}<\/property>|" \
|
||||
-e "s|<property name=\"rotateOnOpen\"\(.*\)>.*<\/property>|<property name=\"rotateOnOpen\" \1>false<\/property>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
create_logrotate cool "${LOG_PATH}"/"${LOG_FILE}" none cool cool
|
||||
else
|
||||
print_debug "Log: Console"
|
||||
fi
|
||||
|
||||
if var_true "${LOG_ANONYMIZE}"; then
|
||||
sed -i \
|
||||
-e "s|<anonymize_user_data \(.*\)>.*<\/anonymize_user_data>|<anonymize_user_data \1>${LOG_ANONYMIZE}<\/anonymize_user_data>|" \
|
||||
-e "s|<anonymization_salt \(.*\)>.*<\/anonymization_salt>|<anonymization_salt \1>${LOG_ANONYMIZE_SALT}<\/anonymization_salt>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
fi
|
||||
|
||||
sed -i -e "s|<docstats \(.*\)>.*<\/docstats>|<docstats \1>${ENABLE_DOCUMENT_STATISTICS,,}<\/docstats>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<userstats \(.*\)>.*<\/userstats>|<userstats \1>${ENABLE_USER_STATISTICS,,}<\/userstats>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<most_verbose_level_settable_from_client \(.*\)>.*<\/most_verbose_level_settable_from_client>|<most_verbose_level_settable_from_client \1>${LOG_LEVEL_CLIENT_MOST_VERBOSE}<\/most_verbose_level_settable_from_client>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<least_verbose_level_settable_from_client \(.*\)>.*<\/least_verbose_level_settable_from_client>|<least_verbose_level_settable_from_client \1>${LOG_LEVEL_CLIENT_LEAST_VERBOSE}<\/least_verbose_level_settable_from_client>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<use_integration_theme \(.*\)>.*<\/use_integration_theme>|<use_integration_theme \1>${USE_INTEGRATOR_THEME,,}<\/use_integration_theme>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<url desc=\"URL of optional JSON\(.*\)>.*<\/url>|<url desc=\"URL of optional JSON\1>${REMOTE_FONT_URL}<\/url>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<tile_cache_persistent \(.*\)>.*<\/tile_cache_persistent>|<tile_cache_persistent \1>${ENABLE_TILES_CACHE,,}<\/tile_cache_persistent>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<quarantine_files \(.*\) enable\".*\">|<quarantine_files \1> enable=\"${ENABLE_FILES_QUARANTINE,,}\">|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<limit_dir_size_mb \(.*\)>.*<\/limit_dir_size_mb>|<limit_dir_size_mb \1>${FILES_QUARANTINE_DIRECTORY_SIZE_LIMIT}<\/limit_dir_size_mb>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<max_versions_to_maintain \(.*\)>.*<\/max_versions_to_maintain>|<max_versions_to_maintain \1>${FILES_QUARANTINE_MAX_VERSIONS}<\/max_versions_to_maintain>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<expiry_min \(.*\)>.*<\/expiry_min>|<expiry_min \1>${FILES_QUARANTINE_EXPIRY}<\/expiry_min>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<path desc=\"Path to directory\(.*\)>.*<\/path>|<path desc=\"Path to directory\1>${FILES_QUARANTINE_PATH}<\/path>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<ver_suffix \(.*\)>.*<\/ver_suffix>|<ver_suffix \1>${VERSION_SUFFIX}<\/ver_suffix>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<enable desc=\"Enable more configuration options for home users\(.*\)>.*<\/enable>|<enable desc=\"Enable more configuration options for home users\1>${ENABLE_HOME_MODE}<\/enable>|g" /etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Network
|
||||
### Allowed Hosts
|
||||
sed -i -e 's|<alias_groups \(.*\) mode=.*>|<alias_groups \1 mode="groups">|' /etc/coolwsd/coolwsd.xml
|
||||
allowed_hosts=$(echo "${ALLOWED_HOSTS}" | tr "," "\n")
|
||||
for host in $allowed_hosts; do
|
||||
print_info "Adding Allowed Host: ${host}"
|
||||
sed -i "/<alias_groups .*>/a \ <group><host desc=\"hostname to allow or deny.\" allow=\"true\">${host}</host></group>" /etc/coolwsd/coolwsd.xml
|
||||
done
|
||||
sed -i \
|
||||
-e "s|<frame_ancestors \(.*\)>.*<\/frame_ancestors>|<frame_ancestors \1>${FRAME_ANCESTORS}<\/frame_ancestors>|" \
|
||||
-e "s|<connection_timeout \(.*\)>.*<\/connection_timeout>|<connection_timeout \1>${CONNECTION_TIMEOUT}<\/connection_timeout>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
||||
## SSL
|
||||
if var_false "${ENABLE_TLS}" ; then
|
||||
sed -i -E "s|<enable type=\"bool\" desc=\"Controls(.*)>.*<\/enable>|<enable type=\"bool\" desc=\"Controls\1>false<\/enable>|" /etc/coolwsd/coolwsd.xml
|
||||
fi
|
||||
|
@ -203,28 +244,66 @@ if [ "${SETUP_TYPE,,}" = "auto" ]; then
|
|||
sed -i -e "s|<termination \(.*\)>.*<\/termination>|<termination \1>false<\/termination>|" /etc/coolwsd/coolwsd.xml
|
||||
fi
|
||||
|
||||
if var_true "${LOG_ANONYMIZE}"; then
|
||||
sed -i -e "s|<anonymize_user_data \(.*\)>.*<\/anonymize_user_data>|<anonymize_user_data \1>${LOG_ANONYMIZE}<\/anonymize_user_data>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<anonymization_salt \(.*\)>.*<\/anonymization_salt>|<anonymization_salt \1>${LOG_ANONYMIZE_SALT}<\/anonymization_salt>|" /etc/coolwsd/coolwsd.xml
|
||||
fi
|
||||
sed -i \
|
||||
-e "s|<ca_file_path \(.*\) relative=\"false\">.*<\/ca_file_path>|<ca_file_path \1 relative=\"false\">${TLS_CERT_PATH}/${TLS_CA_FILENAME}<\/ca_file_path>|" \
|
||||
-e "s|<cert_file_path \(.*\) relative=\"false\">.*<\/cert_file_path>|<cert_file_path \1 relative=\"false\">${TLS_CERT_PATH}/${TLS_CERT_FILENAME}<\/cert_file_path>|" \
|
||||
-e "s|<key_file_path \(.*\) relative=\"false\">.*<\/key_file_path>|<key_file_path \1 relative=\"false\">${TLS_CERT_PATH}/${TLS_KEY_FILENAME}<\/key_file_path>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
||||
if [ "${LOG_TYPE,,}" = "file" ]; then
|
||||
sed -i -e "s|<file enable=\"false\"|<file enable=\"true\"|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<property name=\"path\"\(.*\)>.*<\/property>|<property name=\"path\" \1>${LOG_PATH}/${LOG_FILE}<\/property>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<property name=\"flush\"\(.*\)>.*<\/property>|<property name=\"flush\" \1>${LOG_FILE_FLUSH}<\/property>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<property name=\"rotateOnOpen\"\(.*\)>.*<\/property>|<property name=\"rotateOnOpen\" \1>false<\/property>|" /etc/coolwsd/coolwsd.xml
|
||||
create_logrotate cool "${LOG_PATH}"/"${LOG_FILE}" none cool cool
|
||||
else
|
||||
print_debug "Log: Console"
|
||||
fi
|
||||
## Security
|
||||
sed -i \
|
||||
-e "s|<seccomp \(.*\)>.*<\/seccomp>|<seccomp \1>${ENABLE_SECCOMP,,}<\/seccomp>|" \
|
||||
-e "s|<capabilities \(.*\)>.*<\/capabilities>|<capabilities \1>${ENABLE_CAPABILITIES,,}<\/capabilities>|" \
|
||||
-e "s|<jwt_expiry_secs \(.*\)>.*<\/jwt_expiry_secs>|<jwt_expiry_secs \1>${ADMIN_JWT_EXPIRY}<\/jwt_expiry_secs>|" \
|
||||
-e "s|<enable_macros_execution \(.*\)>.*<\/enable_macros_execution>|<enable_macros_execution \1>${ENABLE_MACROS,,}<\/enable_macros_execution>|" \
|
||||
-e "s|<macro_security_level \(.*\)>.*<\/macro_security_level>|<macro_security_level \1>${MACRO_SECURITY_LEVEL}<\/macro_security_level>|" \
|
||||
-e "s|<enable_metrics_unauthenticated \(.*\)>.*<\/enable_metrics_unauthenticated>|<enable_metrics_unauthenticated \1>${ENABLE_METRICS_UNAUTHENTICATED}<\/enable_metrics_unauthenticated>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
||||
### Allowed Hosts
|
||||
sed -i -e 's|<alias_groups \(.*\) mode=.*>|<alias_groups \1 mode="groups">|' /etc/coolwsd/coolwsd.xml
|
||||
allowed_hosts=$(echo "${ALLOWED_HOSTS}" | tr "," "\n")
|
||||
for host in $allowed_hosts; do
|
||||
print_info "Adding Allowed Host: ${host}"
|
||||
sed -i "/<alias_groups .*>/a \ <group><host desc=\"hostname to allow or deny.\" allow=\"true\">${host}</host></group>" /etc/coolwsd/coolwsd.xml
|
||||
done
|
||||
## Watermark
|
||||
sed -i \
|
||||
-e "s|<opacity \(.*\)>.*<\/opacity>|<opacity \1>${WATERMARK_OPACITY}<\/opacity>|" \
|
||||
-e "s|<text \(.*\)>.*<\/text>|<text \1>${WATERMARK_TEXT}<\/text>|" \
|
||||
|
||||
## User Interface
|
||||
sed -i \
|
||||
-e "s|<mode \(.*\)>.*<\/mode>|<mode \1>${INTERFACE}<\/mode>|" \
|
||||
-e "s|<use_integration_theme \(.*\)>.*<\/use_integration_theme>|<use_integration_theme \1>${USE_INTEGRATOR_THEME,,}<\/use_integration_theme>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
||||
sed -i -e "s|<tile_cache_persistent \(.*\)>.*<\/tile_cache_persistent>|<tile_cache_persistent \1>${ENABLE_TILES_CACHE,,}<\/tile_cache_persistent>|" /etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Admin Console
|
||||
sed -i \
|
||||
-e "s|<enable desc=\(.*\)>.*<\/enable>|<enable desc=\1>${ENABLE_ADMIN_CONSOLE,,}<\/enable>|" \
|
||||
-e "s|<username \(.*\)>.*<\/username>|<username \1>${ADMIN_USER}<\/username>|" \
|
||||
-e "s|<password \(.*\)>.*<\/password>|<password \1>${ADMIN_PASS}<\/password>|" \
|
||||
/etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Quarantine Files
|
||||
sed -i -e "s|<quarantine_files \(.*\) enable\".*\">|<quarantine_files \1> enable=\"${ENABLE_FILES_QUARANTINE,,}\">|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<limit_dir_size_mb \(.*\)>.*<\/limit_dir_size_mb>|<limit_dir_size_mb \1>${FILES_QUARANTINE_DIRECTORY_SIZE_LIMIT}<\/limit_dir_size_mb>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<path desc=\"Path to directory\(.*\)>.*<\/path>|<path desc=\"Path to directory\1>${FILES_QUARANTINE_PATH}<\/path>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<max_versions_to_maintain \(.*\)>.*<\/max_versions_to_maintain>|<max_versions_to_maintain \1>${FILES_QUARANTINE_MAX_VERSIONS}<\/max_versions_to_maintain>|" /etc/coolwsd/coolwsd.xml
|
||||
sed -i -e "s|<expiry_min \(.*\)>.*<\/expiry_min>|<expiry_min \1>${FILES_QUARANTINE_EXPIRY}<\/expiry_min>|" /etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Remote Config
|
||||
sed -i -e "s|<remote_url desc=\(.*\)>.*<\/remote_url>|<remote_url desc=\1>${REMOTE_URL}<\/remote_url>|" /etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Remote Fonts
|
||||
sed -i -e "s|<url desc=\"URL of optional JSON\(.*\)>.*<\/url>|<url desc=\"URL of optional JSON\1>${REMOTE_FONT_URL}<\/url>|" /etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Home Mode
|
||||
sed -i -e "s|<enable desc=\"Enable more configuration options for home users\(.*\)>.*<\/enable>|<enable desc=\"Enable more configuration options for home users\1>${ENABLE_HOME_MODE}<\/enable>|g" /etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Fonts Missing
|
||||
sed -i -e "s|<handling desc=\(.*\)>.*<\/handling>|<handling desc=\1>${FONTS_MISSING_ACTION}<\/handling>|" /etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Indirection Endpoint
|
||||
sed -i -e "s|<url desc=\"URL endpoint to server which servers routeToken in\(.*\)>.*<\/url>|<url desc=\"URL endpoint to server which servers routeToken in\1>${INDIRECTION_ENDPOINT}<\/url>|" /etc/coolwsd/coolwsd.xml
|
||||
|
||||
## Zotero
|
||||
sed -i -e "s|<enable .*=\"Enable Zotero Plugin\(.*\)>.*<\/url>|<enable desc=\"Enable Zotero Plugin\1>${ENABLE_ZOTERO}<\/enable>|" /etc/coolwsd/coolwsd.xml
|
||||
fi
|
||||
|
||||
# Generate WOPI proof key
|
||||
|
|
Loading…
Reference in a new issue