Compare commits

...

10 Commits

6 changed files with 32 additions and 12 deletions
+1
View File
@@ -5,3 +5,4 @@ NEXTCLOUD_DOMAIN=nextcloud.example.com
ADMIN_USERNAME=admin ADMIN_USERNAME=admin
SECRET_ADMIN_PASSWORD_VERSION=v1 SECRET_ADMIN_PASSWORD_VERSION=v1
FRAME_ANCESTORS= FRAME_ANCESTORS=
DICTIONARIES=de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT
+8
View File
@@ -18,14 +18,22 @@
1. Set up Docker Swarm and [`abra`](https://git.autonomic.zone/coop-cloud/abra) 1. Set up Docker Swarm and [`abra`](https://git.autonomic.zone/coop-cloud/abra)
1. Deploy [`coop-cloud/traefik`](https://git.autonomic.zone/coop-cloud/traefik) 1. Deploy [`coop-cloud/traefik`](https://git.autonomic.zone/coop-cloud/traefik)
1. `abra app new collabora` to install collabora.
1. `abra app config YOURAPPDOMAIN` - be sure to change `$DOMAIN` to something that resolves to 1. `abra app config YOURAPPDOMAIN` - be sure to change `$DOMAIN` to something that resolves to
your Docker swarm box your Docker swarm box
1. `abra app deploy YOURAPPDOMAIN` 1. `abra app deploy YOURAPPDOMAIN`
1. In nextcloud, go to Admin->Office, select "Use your own server" and enter only the DOMAIN (including https://) in "URL (and Port) of Collabora Online-server".
Admin Interface: Admin Interface:
`https://YOURAPPDOMAIN/browser/dist/admin/admin.html` `https://YOURAPPDOMAIN/browser/dist/admin/admin.html`
## Languages for spell checking
To change default languages for spell checking, add or remove language-codes (and optionally country code) from the DICTIONARIES-list when configuring your app. Consult list of [language codes](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) and [country codes](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes). For example:
`DICTIONARIES=de_DE en_GB en_US es_ES fr_FR da_DK`
## Acknowledgements ## Acknowledgements
Config'd with thanks to [the people behind this article](https://geek-cookbook.funkypenguin.co.nz/recipes/collabora-online/). Config'd with thanks to [the people behind this article](https://geek-cookbook.funkypenguin.co.nz/recipes/collabora-online/).
+1 -1
View File
@@ -1,2 +1,2 @@
export NGINX_CONF_VERSION=v2 export NGINX_CONF_VERSION=v3
export COOLWSD_XML_VERSION=v2 export COOLWSD_XML_VERSION=v2
+14 -9
View File
@@ -3,7 +3,7 @@ version: "3.8"
services: services:
web: web:
image: "nginx:1.27.4" image: "nginx:1.29.7"
environment: environment:
- STACK_NAME - STACK_NAME
- DOMAIN=${DOMAIN} - DOMAIN=${DOMAIN}
@@ -23,24 +23,28 @@ services:
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
healthcheck: healthcheck:
test: ["CMD-SHELL", 'curl -s -N localhost/hosting/capabilities | grep Collabora'] test:
[
"CMD-SHELL",
"curl -s -N localhost/hosting/capabilities | grep Collabora",
]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 10 retries: 10
start_period: 5m start_period: 5m
app: app:
image: "collabora/code:24.04.12.3.1" image: "collabora/code:25.04.9.4.1"
cap_add: cap_add:
- MKNOD - MKNOD
secrets: secrets:
- admin_password - admin_password
healthcheck: healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9980"] test: ["CMD", "curl", "-f", "http://localhost:9980"]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 10 retries: 10
start_period: 2m start_period: 2m
configs: configs:
- source: coolwsd_xml - source: coolwsd_xml
target: /etc/coolwsd/coolwsd.xml target: /etc/coolwsd/coolwsd.xml
@@ -52,11 +56,12 @@ services:
- DONT_GEN_SSL_CERT=true - DONT_GEN_SSL_CERT=true
- NEXTCLOUD_DOMAIN=${NEXTCLOUD_DOMAIN} - NEXTCLOUD_DOMAIN=${NEXTCLOUD_DOMAIN}
- FRAME_ANCESTORS - FRAME_ANCESTORS
- DICTIONARIES
networks: networks:
- internal - internal
deploy: deploy:
labels: labels:
- "coop-cloud.${STACK_NAME}.version=3.2.0+24.04.12.3.1" - "coop-cloud.${STACK_NAME}.version=4.0.2+25.04.9.4.1"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}" - "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}"
networks: networks:
+2 -1
View File
@@ -7,7 +7,8 @@
<!-- Note: 'default' attributes are used to document a setting's default value as well as to use as fallback. --> <!-- Note: 'default' attributes are used to document a setting's default value as well as to use as fallback. -->
<!-- Note: When adding a new entry, a default must be set in WSD in case the entry is missing upon deployment. --> <!-- Note: When adding a new entry, a default must be set in WSD in case the entry is missing upon deployment. -->
<allowed_languages desc="List of supported languages of Writing Aids (spell checker, grammar checker, thesaurus, hyphenation) on this instance. Allowing too many has negative effect on startup performance." default="de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru">de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru</allowed_languages> <allowed_languages desc="List of supported languages of Writing Aids (spell checker, grammar checker, thesaurus, hyphenation) on this instance. Allowing too many has negative effect on startup performance." default="{{ env "DICTIONARIES" }}">{{ env "DICTIONARIES" }}</allowed_languages>
<sys_template_path desc="Path to a template tree with shared libraries etc to be used as source for chroot jails for child processes." type="path" relative="true" default="systemplate"></sys_template_path> <sys_template_path desc="Path to a template tree with shared libraries etc to be used as source for chroot jails for child processes." type="path" relative="true" default="systemplate"></sys_template_path>
<child_root_path desc="Path to the directory under which the chroot jails for the child processes will be created. Should be on the same file system as systemplate and lotemplate. Must be an empty directory." type="path" relative="true" default="jails"></child_root_path> <child_root_path desc="Path to the directory under which the chroot jails for the child processes will be created. Should be on the same file system as systemplate and lotemplate. Must be an empty directory." type="path" relative="true" default="jails"></child_root_path>
+6 -1
View File
@@ -5,8 +5,13 @@ events {
} }
http { http {
resolver 127.0.0.11 valid=30s ipv6=off;
resolver_timeout 5s;
upstream collabora-upstream { upstream collabora-upstream {
server {{ env "STACK_NAME" }}_app:9980; zone collabora-upstream 64k;
server {{ env "STACK_NAME" }}_app:9980 resolve;
keepalive 16;
} }
server { server {