Add Collabora Online support
This commit is contained in:
parent
d2f91ae8e3
commit
306c77fa51
6 changed files with 128 additions and 5 deletions
56
docs/services/collabora-online.md
Normal file
56
docs/services/collabora-online.md
Normal file
|
@ -0,0 +1,56 @@
|
|||
# Collabora Online
|
||||
|
||||
The [Collabora Online Development Edition (CODE)](https://www.collaboraoffice.com/) office suite, together with the [Office App](https://apps.nextcloud.com/apps/richdocuments) for [Nextcloud](nextcloud.md) enables you to edit office documents online.
|
||||
|
||||
|
||||
## Dependencies
|
||||
|
||||
This service requires the following other services:
|
||||
|
||||
- a [Postgres](postgres.md) database
|
||||
- a [Traefik](traefik.md) reverse-proxy server
|
||||
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable this service, add the following configuration to your `vars.yml` file and re-run the [installation](../installing.md) process:
|
||||
|
||||
```yaml
|
||||
########################################################################
|
||||
# #
|
||||
# collabora-online #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
collabora_online_enabled: true
|
||||
|
||||
collabora_online_hostname: collabora.example.com
|
||||
|
||||
# A password for the admin interface, available at: https://COLLABORA_ONLINE_DOMAIN/browser/dist/admin/admin.html
|
||||
collabora_online_env_variable_password: ''
|
||||
|
||||
collabora_online_aliasgroup: "https://{{ nextcloud_hostname | replace('.', '\\.') }}:443"
|
||||
|
||||
########################################################################
|
||||
# #
|
||||
# /collabora-online #
|
||||
# #
|
||||
########################################################################
|
||||
```
|
||||
|
||||
In the example configuration above, we configure the service to be hosted at `https://collabora.example.com`.
|
||||
|
||||
|
||||
## Integrating with Nextcloud
|
||||
|
||||
To learn how to integrate Collabora Online with Nextcloud, see the [Collabora Online section](nextcloud.md#collabora-online) in our Nextcloud documentation.
|
||||
|
||||
|
||||
## Admin Interface
|
||||
|
||||
There's an admin interface with various statistics and information at: `https://COLLABORA_ONLINE_DOMAIN/browser/dist/admin/admin.html`
|
||||
|
||||
Use your admin credentials for logging in:
|
||||
|
||||
- the default username is `admin`, as specified in `collabora_online_env_variable_username`
|
||||
- the password is the one you've specified in `collabora_online_env_variable_password`
|
|
@ -18,7 +18,7 @@ To enable this service, add the following configuration to your `vars.yml` file
|
|||
```yaml
|
||||
########################################################################
|
||||
# #
|
||||
# nextcloud #
|
||||
# nextcloud #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
|
@ -29,7 +29,7 @@ nextcloud_path_prefix: /nextcloud
|
|||
|
||||
########################################################################
|
||||
# #
|
||||
# /nextcloud #
|
||||
# /nextcloud #
|
||||
# #
|
||||
########################################################################
|
||||
```
|
||||
|
@ -48,3 +48,30 @@ You can choose any username/password for your account.
|
|||
In **Storage & database**, you should choose PostgreSQL (changing the default **SQLite** choice), with the credentials you see after running `just run-tags print-nextcloud-db-credentials`
|
||||
|
||||
Once you've fully installed Nextcloud, you'd better adjust its default configuration (URL paths, trusted reverse-proxies, etc.) by running: `just run-tags adjust-nextcloud-config`
|
||||
|
||||
|
||||
## Recommended other services
|
||||
|
||||
### Collabora Online
|
||||
|
||||
To integrate the [Collabora Online](collabora-online.md) office suite, first install it by following its dedicated documentation page.
|
||||
|
||||
Then add the following **additional** Nextcloud configuration:
|
||||
|
||||
```yaml
|
||||
nextcloud_collabora_app_wopi_url: "{{ collabora_online_url }}"
|
||||
|
||||
# By default, various private IPv4 networks are whitelited to connect to the WOPI API (document serving API).
|
||||
# If your Collabora Online installation does not live on the same server as Nextcloud,
|
||||
# you may need to adjust the list of networks.
|
||||
# If necessary, redefined the `nextcloud_collabora_app_wopi_allowlist` environment variable here.
|
||||
```
|
||||
|
||||
There's **no need** to [re-run the playbook](../installing.md) after adjusting your `vars.yml` file.
|
||||
You should, however run: `just run-tags install-nextcloud-app-collabora`
|
||||
|
||||
This will install and configure the [Office](https://apps.nextcloud.com/apps/richdocuments) app for Nextcloud.
|
||||
|
||||
You should then be able to click any document (`.doc`, `.odt`, `.pdf`, etc.) in Nextcloud Files and it should automatically open a Collabora Online editor.
|
||||
|
||||
You can also create new documents via the "plus" button.
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
| Name | Description | Documentation |
|
||||
| ------------------------------ | ------------------------------------- | ------------- |
|
||||
| [Collabora Online](https://www.collaboraoffice.com/) | Your Private Office Suite In The Cloud | [Link](services/collabora-online.md) |
|
||||
| [Docker](https://www.docker.com/) | Open-source software for deploying containerized applications | [Link](services/docker.md) |
|
||||
| [Gitea](https://gitea.io/) | A painless self-hosted Git service. | [Link](services/gitea.md) |
|
||||
| [Miniflux](https://miniflux.app/) | Minimalist and opinionated feed reader. | [Link](services/miniflux.md) |
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
|
||||
devture_systemd_service_manager_services_list_auto: |
|
||||
{{
|
||||
([{'name': (collabora_online_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'collabora-online']}] if collabora_online_enabled else [])
|
||||
+
|
||||
([{'name': (devture_postgres_identifier + '.service'), 'priority': 500, 'groups': ['mash', 'postgres']}] if devture_postgres_enabled else [])
|
||||
+
|
||||
([{'name': (devture_container_socket_proxy_identifier + '.service'), 'priority': 2900, 'groups': ['mash', 'reverse-proxies', 'container-socket-proxy']}] if devture_container_socket_proxy_enabled else [])
|
||||
|
@ -20,7 +22,7 @@ devture_systemd_service_manager_services_list_auto: |
|
|||
+
|
||||
([{'name': (gitea_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'gitea', 'gitea-server']}])
|
||||
+
|
||||
([{'name': (nextcloud_identifier + '-server.service'), 'priority': 1000, 'groups': ['mash', 'nextcloud', 'nextcloud-server']}] if nextcloud_enabled else [])
|
||||
([{'name': (nextcloud_identifier + '-server.service'), 'priority': 2000, 'groups': ['mash', 'nextcloud', 'nextcloud-server']}] if nextcloud_enabled else [])
|
||||
+
|
||||
([{'name': (nextcloud_identifier + '-cron.timer'), 'priority': 2500, 'groups': ['mash', 'nextcloud', 'nextcloud-cron']}] if nextcloud_enabled else [])
|
||||
+
|
||||
|
@ -28,7 +30,7 @@ devture_systemd_service_manager_services_list_auto: |
|
|||
+
|
||||
([{'name': (radicale_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'radicale']}] if radicale_enabled else [])
|
||||
+
|
||||
([{'name': (vaultwarden_identifier + '.service'), 'priority': 1000, 'groups': ['mash', 'vaultwarden', 'vaultwarden-server']}] if vaultwarden_enabled else [])
|
||||
([{'name': (vaultwarden_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'vaultwarden', 'vaultwarden-server']}] if vaultwarden_enabled else [])
|
||||
+
|
||||
([{'name': (uptime_kuma_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'uptime-kuma']}] if uptime_kuma_enabled else [])
|
||||
}}
|
||||
|
@ -224,6 +226,37 @@ devture_timesync_installation_enabled: false
|
|||
# #
|
||||
########################################################################
|
||||
|
||||
########################################################################
|
||||
# #
|
||||
# collabora-online #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
collabora_online_enabled: false
|
||||
|
||||
collabora_online_identifier: "{{ mash_playbook_service_identifier_prefix }}collabora-online"
|
||||
|
||||
collabora_online_base_path: "{{ mash_playbook_base_path }}/collabora-online"
|
||||
|
||||
collabora_online_uid: "{{ mash_playbook_uid }}"
|
||||
collabora_online_gid: "{{ mash_playbook_gid }}"
|
||||
|
||||
collabora_online_container_additional_networks: |
|
||||
{{
|
||||
([mash_playbook_reverse_proxyable_services_additional_network] if mash_playbook_reverse_proxyable_services_additional_network else [])
|
||||
}}
|
||||
|
||||
collabora_online_container_labels_traefik_enabled: "{{ mash_playbook_traefik_labels_enabled }}"
|
||||
collabora_online_container_labels_traefik_docker_network: "{{ mash_playbook_reverse_proxyable_services_additional_network }}"
|
||||
collabora_online_container_labels_traefik_entrypoints: "{{ devture_traefik_entrypoint_primary }}"
|
||||
collabora_online_container_labels_traefik_tls_certResolver: "{{ devture_traefik_certResolver_primary }}"
|
||||
|
||||
########################################################################
|
||||
# #
|
||||
# /collabora-online #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
|
||||
|
||||
########################################################################
|
||||
|
|
|
@ -58,4 +58,8 @@
|
|||
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-nextcloud.git
|
||||
name: nextcloud
|
||||
version: v25.0.4-0
|
||||
version: v25.0.4-1
|
||||
|
||||
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-collabora-online.git
|
||||
name: collabora_online
|
||||
version: v22.05.12.1.1-0
|
||||
|
|
|
@ -44,6 +44,8 @@
|
|||
|
||||
- role: galaxy/com.devture.ansible.role.traefik
|
||||
|
||||
- role: galaxy/collabora_online
|
||||
|
||||
- role: galaxy/gitea
|
||||
|
||||
- role: galaxy/miniflux
|
||||
|
|
Loading…
Reference in a new issue