Add full ONLYOFFICE integration:

- New web-svc-onlyoffice role (Docker, env, CSP, proxy hooks)
- Nextcloud plugin integration with JWT and CSP updates
- Custom Nextcloud image with updated CA certificates
- Networking and port assignments
- Disabled Collabora by default
- Enabled ONLYOFFICE by default
- Link to conversation for reference: https://chatgpt.com/share/691f49ac-54d8-800f-83c3-60cf8c100183
This commit is contained in:
2025-11-21 21:36:27 +01:00
parent 19de04c475
commit 28caa495e7
18 changed files with 197 additions and 4 deletions

View File

@@ -50,6 +50,7 @@ NEXTCLOUD_SERVICE: "{{ entity_name }}"
NEXTCLOUD_VERSION: "{{ applications | get_app_conf(application_id, 'docker.services.'~ NEXTCLOUD_SERVICE ~'.version') }}"
NEXTCLOUD_IMAGE: "{{ applications | get_app_conf(application_id, 'docker.services.'~ NEXTCLOUD_SERVICE ~'.image') }}"
NEXTCLOUD_CONTAINER: "{{ applications | get_app_conf(application_id, 'docker.services.'~ NEXTCLOUD_SERVICE ~'.name') }}"
NEXTCLOUD_CUSTOM_IMAGE: "nextcloud_custom"
### Proxy
NEXTCLOUD_PROXY_SERVICE: "proxy"
@@ -135,6 +136,10 @@ NEXTCLOUD_WHITEBOARD_MAX_OLD_SPACE_SIZE: "{{ applications | node_max_old_space_
### Collabora
NEXTCLOUD_COLLABORA_URL: "{{ domains | get_url('web-svc-collabora', WEB_PROTOCOL) }}"
### OnlyOffice
NEXTCLOUD_ONLYOFFICE_URL: "{{ domains | get_url('web-svc-onlyoffice', WEB_PROTOCOL) }}"
NEXTCLOUD_ONLYOFFICE_ENABLED: "{{ applications | get_app_conf(application_id, 'plugins.onlyoffice.enabled') }}"
## User Configuration
NEXTCLOUD_DOCKER_USER_ID: 82 # UID of the www-data user
NEXTCLOUD_DOCKER_USER: "www-data" # Name of the www-data user (Set here to easy change it in the future)

View File

@@ -0,0 +1,24 @@
plugin_configuration:
- appid: "onlyoffice"
configkey: "DocumentServerUrl"
configvalue: "{{ NEXTCLOUD_ONLYOFFICE_URL }}/"
- appid: "onlyoffice"
configkey: "DocumentServerInternalUrl"
configvalue: "{{ NEXTCLOUD_ONLYOFFICE_URL }}/"
- appid: "onlyoffice"
configkey: "StorageUrl"
configvalue: "{{ NEXTCLOUD_URL }}/"
- appid: "onlyoffice"
configkey: "jwt_secret"
configvalue: "{{ applications | get_app_conf('web-svc-onlyoffice', 'credentials.onlyoffice_jwt_secret', False, '') }}"
- appid: "onlyoffice"
configkey: "jwt_header"
configvalue: "Authorization"
- appid: "onlyoffice"
configkey: "verify_peer_off"
configvalue: "false"